如何为数组中的$all形成猫鼬查询
How to form mongoose query for $all in array
给定此集合:
[{
"users": [{
"name": "one"
}, {
"name": "two"
}]
}, {
"users": [{
"name": "one"
}, {
"name": "three"
}]
}, {
"users": [{
"name": "fifteen"
}, {
"name": "one"
}]
}]
如何使用值(即 "one"
和 "two"
)进行查询,以便 findOne
方法仅返回同时具有"name":"one"
和"name":"two"
的文档(顺序不相关)?users
数组将始终有 2 个元素,不多也不少。
我正在尝试类似以下内容:
Collection.findOne({"users":{$all:["one", "two"]}})
但它不起作用。谁能帮忙?
编辑:最新尝试:
Collection.findOne({"users":{"name": {$all:["one","two"]}}})
试试这个:
{"users": {$all: [{"name": "one"}, {"name": "two"}]}}
或者使用JohnnyHK提议的点符号。
请参阅此处如何使用$all:https://docs.mongodb.org/manual/reference/operator/query/all/
编辑:数据已更改。
为此,
您可以使用点表示法来标识数组中应应用 $all
运算符的特定字段:
Collection.findOne({'users.name': {$all: ['one', 'two']}})
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- j查询utc offSets的时差
- 如何有效地将游戏数据存储在URL查询字符串中
- 如何处理node.js节点mongodb中的连接和查询队列
- 如何从 HTML 查询中删除项目
- 从查询字符串参数推断出正确的数据类型
- Nested Q.all nodejs
- 将curl查询转换为jQuery.ajax()
- 触发媒体查询断点时刷新页面
- 使用DynamoDB查询返回
- Bootstrap Dropdown selection是在*all*下拉菜单上设置选择
- 当查询不在displayField中时,引导Ajax Typeahead不显示结果
- 如何将PHP get查询转换为Meteor's HTTP.get()
- AngularJS:获取链接中没有哈希的查询字符串值
- 捕获初始RedQueryBuilder查询中的SQL问题
- AngularJS,如何更改查询字符串
- 具有大型几何图形的基于沙发的空间查询
- 在php中提交数据时,如果某些值为null,而某些值为非null,如何进行查询
- 如何为数组中的$all形成猫鼬查询
- 对多个http/oauth查询使用Promise.all()