使用 Mongodb 时使用 $all 运算符

问题描述

我需要在这种结构中设计一个 mongo 集合:

System.getProperty("propertyName") 

我想执行这个查询

{
   _id: "601af6f8ab9f370c2f7c0c38",users: [1111,2222,3333],chat_id: "chat_1"
},{
   _id: "601af6f8ab9f370c2f7c0c40",2222],chat_id: "chat_2"
},{
   _id: "601af6f8ab9f370c2f7c0c50",users: [2222,chat_id: "chat_3"
},4444],chat_id: "chat_4"
}

结果是:
db.getCollection('users_collection').find({users: {$all : [2222,3333]}})

我的一个应用假设是每个文档的用户列表很小
(大多数列表的长度为 2,大约 10% 的长度为 3-10)
因此,对于所有文档,用户列表可以被认为是小尺寸的。

对于我在上面指定的查询,我需要索引 { _id: "601af6f8ab9f370c2f7c0c38",chat_id: "chat_3" } 字段。

有没有人有在 users 中索引 list field 并使用 mongo 运算符执行
查询的经验,该运算符支持大规模的良好执行时间?
(我估计该集合中大约有 1B 个文档)

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)