我正在使用Mongo数据库。有两个集合main_hikanshou
和main_kokyaku
。 main_hikanshou
仅包含一列-phone_number
。 main_kokyaku
包含约10列,其中一列相同。这两个集合具有大约150000个值,我想将这两个集合进行比较,并以计算光的方式获取匹配值上的phone_number
输出...
我正在使用此.csv
仅用于js
,但是以这种方式使用它花费的时间太长了...
var list = []
db.main_hikanshou.find().forEach(function(doc1){
var doc2 = db.main_kokyaku.findOne({phone_number: doc1.phone_number});
if (doc2) {
list.push(doc1);
}
});
print(list);
最佳答案
您可以使用$in
尝试这个:
db.main_hikanshou.find({},{phone_number:1} ).toArray(function (_err, docs) {//get all phone phone numbers
let phone_numberList = docs.map(v => { return v.phone_number });
var doc2 = db.main_kokyaku.find({ phone_number: { "$in": phone_numberList } });//search phone
print(doc2);
})
关于javascript - 比较两个集合中的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59497223/