MongoDB 使用 find $in 未返回所有结果
MongoDB not returning all results with find $in
我有一个简单的查询来查找与字段 jId
匹配的多个文档。现在只有 2 个文档。使用 node-mongodb-native
并使用 $in
标志调用 find
将其限制为只有一个:
let collection = db.collection('documents')
// Without $in, both are returned
collection
.find()
.toArray((err, docs) => {
docs.map((doc) => doc.jId)) // Gives ['j-04e347','j-548240']
})
// With $in, only one is returned
collection
.find({ 'jId': { '$in': [ 'j-04e347',' j-548240' ] } })
.toArray((err, docs) => {
docs.map((doc) => doc.jId)) // Gives ['j-04e347']
})
这是一个错误,还是我错误地使用了 $in
运算符,或者 node-mongodb-native
包不支持这个?
如果$in
无法使用,是否有其他方法可以达到同样的效果?
包含了一个额外的 space:' j-548240'
而不是 'j-548240'
。
呃。但这确实适用于 node-mongodb-native
.
我有一个简单的查询来查找与字段 jId
匹配的多个文档。现在只有 2 个文档。使用 node-mongodb-native
并使用 $in
标志调用 find
将其限制为只有一个:
let collection = db.collection('documents')
// Without $in, both are returned
collection
.find()
.toArray((err, docs) => {
docs.map((doc) => doc.jId)) // Gives ['j-04e347','j-548240']
})
// With $in, only one is returned
collection
.find({ 'jId': { '$in': [ 'j-04e347',' j-548240' ] } })
.toArray((err, docs) => {
docs.map((doc) => doc.jId)) // Gives ['j-04e347']
})
这是一个错误,还是我错误地使用了 $in
运算符,或者 node-mongodb-native
包不支持这个?
如果$in
无法使用,是否有其他方法可以达到同样的效果?
包含了一个额外的 space:' j-548240'
而不是 'j-548240'
。
呃。但这确实适用于 node-mongodb-native
.