我在MongoDB中有一个文档如下所示:
{ users: ["2", "3", "4"] }
Run Code Online (Sandbox Code Playgroud)
我试图通过匹配users数组来查询此文档.
db.things.find( { users: { $all: [ "2", "3", "4" ] } } )
Run Code Online (Sandbox Code Playgroud)
该查询有效,但也会返回此文档:
{ users: ["2", "3", "4", "5"] }
Run Code Online (Sandbox Code Playgroud)
最后一个要求是能够与元素出为了查询用户数组,表示[ "3", "4", "2" ]查询,并能够回到我的第一份文件中列出.
任何帮助将不胜感激.提前致谢.
我也使用mongoid,如果它有一个任何人都知道的帮助,但如果我需要可以做一个直接的mongo查询.
Chr*_*ain 10
您可以将查询与{users:{$ size:3}}子句合并,并调整大小以匹配您要查询的用户数.这将确保您获得精确的集合,而不是子集.
如果元素出现故障,您可能需要为每个元素执行{users:{$ exists:"1"}},并将这些和$ size子句组合在一起.
| 归档时间: |
|
| 查看次数: |
4473 次 |
| 最近记录: |