我尝试使用上一次搜索的值进行搜索。
我第一次搜索时会得到一个数字列表,我需要传递一个名为mainNumber
的键来区分是否有commercial
值为true。
例如,如果我将行号放在mainNumber
值位置,则搜索separete效果很好。
db.getSiblingDB('collection1').lines.find({"product":"xxxxx","status":"1"},{ numbers : 1,_id:0}).forEach(function(doc){db.getSiblingDB('collection2').lines.find({"mainNumber" : "doc.numbers", "commercial": { $eq : true }});
我也在此表格上进行测试:
我有一个包含所有行号的文件,甚至还有"
。
文件包含以下行:
945295606
“ 945946582”
“ 945946582”
然后我打开文件以读取该信息并进行搜索:
use wordlist
var file = cat('file_with_numbers'); // read the file
var words = file.split('\n'); // create an array of lines
for (var i = 0, l = words.length; i < l; i++){ // for every number reading from the file
db.getSiblingDB('collection2').lines.find({"mainNumber" : words[i], "commercial": { $eq : true }})
}
同样的事情发生,没事。
第二次搜索什么都不做,但是我知道var包含行号,例如945946582,因为我看不到是否添加了打印语句(doc.numbers
)