2016-11-11 11 views
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が使用できない場合、同じ効果を達成する別の方法はありますか?

+0

mongoシェルを使用して直接クエリを実行しようとしましたが、アプリで問題が発生する可能性を除外しましたか? –

+0

@AdamHarrisonはい;シェルまたはRobomongoを使用すると両方とも正しい結果が得られます(2つのドキュメント) – tyler

答えて

1

'j-548240'の代わりに' j-548240'が追加されました。

しかし、これは実際にnode-mongodb-nativeで動作します。

関連する問題