簡體   English   中英

嵌套字段中的Mongo查詢

[英]Mongo query in nested fields

我有一個數據庫,其中包含帶有嵌套字段的記錄,例如:

"requestParams" : { "query" : [ "tv9" ] }

我正在使用以下查詢來獲取此類記錄。 但是,我正在尋找一種更一般的情況,其中字段查詢與/ tv9 /匹配,其中/ tv9 /包括tv9作為任何搜索的一部分。 像它還應該返回livetv9,movietv9等。以下查詢似乎不起作用:

db.requestLog.findOne({url : /search.json/, requestParams: {$elemMatch: {query: /tv9/}}})

$ elemMatch用於匹配數組中的部分文檔元素。 由於要直接匹配字符串,因此不適合使用此運算符。 使用它代替:

db.requestLog.findOne({url : /search.json/, 'requestParams.query': /tv9/})

范例:

mongos> db.test.save({r:{q:["tv9"]}})
mongos> db.test.save({r:{q:["tv"]}})
mongos> db.test.save({r:{q:["ltv9l"]}})
mongos> db.test.find({'r.q':/tv9/})
{ "_id" : ObjectId("4f5095d4ec991a74c16ba862"), "r" : { "q" : [ "tv9" ] } }
{ "_id" : ObjectId("4f5095deec991a74c16ba864"), "r" : { "q" : [ "ltv9l" ] } }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM