我有一个名为 Arr 的10个唯一对象ID的数组 我在一个名为 xyz 的集合中有10,000个文档。
如何只使用一个请求从 xyz 集合中使用 Arr 数组中的对象ID查找文档?
有$ all和$ in运算符,但用于查询带数组的字段。
或者我是否需要发出等于 Arr 长度的请求并使用findOne获取单个文档?
修改 我期待这样的事情:
db.getCollection(“xyz”)。find({“_ id”:[包含10个唯一ID的数组]})
....其结果回调将包含查询数组的所有匹配ID的数组。
答案 0 :(得分:1)
根据此处的文件:https://docs.mongodb.com/manual/reference/operator/query/in/
您应该使用以下查询:
db.getCollection("xyz").find({"Arr" : { $in: [123, 456, 789 ] }});