鉴于此系列:
[{
"users": [{
"name": "one"
}, {
"name": "two"
}]
}, {
"users": [{
"name": "one"
}, {
"name": "three"
}]
}, {
"users": [{
"name": "fifteen"
}, {
"name": "one"
}]
}]
如何使用值(即"one"
和"two"
)查询此内容,以便findOne
方法仅返回两者的文档 {{ 1}} 和 "name":"one"
(订单不相关)? "name":"two"
数组将始终包含2个元素,不多也不少。
我正在尝试以下方面:
users
但它不起作用。有人可以帮忙吗?
编辑:最新尝试:
Collection.findOne({"users":{$all:["one", "two"]}})
答案 0 :(得分:1)
试试这个:
{"users": {$all: [{"name": "one"}, {"name": "two"}]}}
或使用JohnnyHK提出的点符号。
请在此处查看$ all的使用方式:https://docs.mongodb.org/manual/reference/operator/query/all/
编辑:数据已更改。
答案 1 :(得分:1)
您可以使用点表示法来识别应该应用$all
运算符的数组中的特定字段:
Collection.findOne({'users.name': {$all: ['one', 'two']}})