微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Mongodb 时使用 $all 运算符

如何解决使用 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 举报,一经查实,本站将立刻删除。