我正在使用Mongo数据库。有两个集合main_hikanshoumain_kokyakumain_hikanshou仅包含一列-phone_numbermain_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/

10-13 00:55