2016-08-15 65 views
1

我希望能夠使用JSON索引匹配子字符串,但似乎無法解決如何執行此操作。json索引中字段上的子字符串匹配

我有一個data.nameA SIGN DESIGN PTY. LTD.財產的數據記錄。我的指標定義如下:

db.index({ 
    name: 'subbies_text', 
    type: 'json', 
    index: { 
    fields: ['data.name'] 
    }, 
}) 

有沒有我可以使用,將執行字符串匹配,這樣我可以搜索「標誌」或「標誌設計」,並選擇有「招牌設計PTY。 LTD「。包含在搜索結果中?

回答

1

你可以用「$ regex」實現。假設你成功創建了一個名爲「subbies_text」的json索引,接下來是查詢的例子:

{"selector": { "_id": { "$gt": 0 }, "subbies_text":{"$regex":"SIGN" } }, "fields": [ "_id", "_rev", "name" ]} 
+0

謝謝。用這種方法是否可以操縱索引值? 我該如何使用大寫字母來提供大小寫不敏感? 如何從格式化數字中刪除空格,以便它們與查詢字符串中的任何格式匹配? 我覺得直接查詢設計文檔是一個更好的解決方案。 – simon