我正在使用水線,並且使用mongoimport命令導入了數據庫。我使用本地驅動程序連接到mongo,調用.find和.aggregate。
當使用$或來查詢多個記錄與來自上一組查詢的結果時。該陣列看起來像
[{"\"ProductID\"": "76543"},{"\"ProductID\"": "74632"}, {"\"ProductID\"": "76534",...n}]
支付沒有頭腦的KEY,這是一個臨時組建,由於使用的CSV轉換成JSON,然後mongoimporting新文件在文件中控制字符。我應該可以用數組做下列查詢。
collection.find({$or: arrayResults }).toArray().then(function(result)...
然後我收到錯誤:MongoError:類型錯誤:無法讀取的不確定
財產「身份證」,我能夠通過使陣列較小停止錯誤。這不是爲了強制用戶的批量查詢,但我不知道如何解決問題。
作爲一種解決方法,聚合框架$匹配階段似乎沒有任何問題。
collection.aggregate([{$match: {$or: arrayResults}}}]).toArray().then(....
這個問題是我沒有在我的查詢中使用「id」,所以我不明白什麼是錯的。
嘗試使用'{「ProductID」:「74632」},''沒有'\「'? – zangw
這就是它們在db中的樣子,所以現在它必須是這樣的。損壞數據庫? – chacliff