2016-11-11 32 views
0

我有一個簡單的查詢來查找匹配字段jId的多個文檔。現在只有2個文件。使用node-mongodb-native,並呼籲find$in標誌限制它雖然只有一個:

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 shell執行查詢以排除應用程序中出現問題的可能性? –

+0

@AdamHarrison是的;使用shell或Robomongo都會產生正確的結果(2個文檔) – tyler

回答

1

有一個額外的空間越來越包括:' j-548240'而不是'j-548240'

呃。但是這確實在node-mongodb-native中有效。