Amo*_*rni 11 mongodb mongodb-query
请考虑以下文档:
{
"_id" : "ID_01",
"code" : ["001", "002", "003"],
"Others" : "544554"
}
Run Code Online (Sandbox Code Playgroud)
我通过这个MongoDB文档进行了elemmatch-query和elemmatch-projection,但是无法弄清楚如何在上面的文档中使用它.
谁能告诉我如何使用$elemMatch现场代码?
Wir*_*rie 11
您将需要使用$in运算符而不是$elemMatch在这种情况下,因为$in可以用于搜索特定字段内的值(或值).$ in需要将值列表作为数组传递.此外,对于您的情况,它将找到单个值,或通过搜索值数组.返回整个匹配文档.
例如,您可以像这样使用它:
db.mycodes.find( { code: { $in: ["001"] } } )
Run Code Online (Sandbox Code Playgroud)
这可以简化为:
db.mycodes.find({ code: "001" })
Run Code Online (Sandbox Code Playgroud)
因为MongoDB将在数组中查找单个匹配,如上面的("001").
或者,如果您要搜索"001"或"002":
db.mycodes.find( { code: { $in: ["001", "002"] } } )
Run Code Online (Sandbox Code Playgroud)
如果您只是想将所有文档与包含给定值的数组相匹配,则只需指定对该数组的引用的值,例如
db.mycodes.find( { code: '001' } )
Run Code Online (Sandbox Code Playgroud)
因此,这将返回包含'001'在其code数组中的所有文档
| 归档时间: |
|
| 查看次数: |
7019 次 |
| 最近记录: |