0
フィールド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
が使用できない場合、同じ効果を達成する別の方法はありますか?
mongoシェルを使用して直接クエリを実行しようとしましたが、アプリで問題が発生する可能性を除外しましたか? –
@AdamHarrisonはい;シェルまたはRobomongoを使用すると両方とも正しい結果が得られます(2つのドキュメント) – tyler