Javascript 比较两个集合中的值

Javascript 比较两个集合中的值,javascript,mongodb,collections,Javascript,Mongodb,Collections,我用的是Mongo数据库。拥有两个系列main\u hikansou和main\u kokyakumain\u hikansou只包含一列-phone\u numbermain_kokyaku包含大约10列,其中一列与电话号码相同。这两个集合大约有150000个值,我想比较这两个集合并以计算光的方式获得匹配值的.csv输出 我使用这个js只是为了打印它,但是用这种方式需要太长时间 var列表=[] db.main_hikanshu.find().forEach(函数(doc1){ var doc

我用的是Mongo数据库。拥有两个系列
main\u hikansou
main\u kokyaku
main\u hikansou
只包含一列-
phone\u number
main_kokyaku
包含大约10列,其中一列与电话号码相同。这两个集合大约有150000个值,我想比较这两个集合并以计算光的方式获得匹配值的
.csv
输出

我使用这个
js
只是为了
打印它,但是用这种方式需要太长时间

var列表=[]
db.main_hikanshu.find().forEach(函数(doc1){
var doc2=db.main_kokyaku.findOne({phone_number:doc1.phone_number});
国际单项体育联合会(doc2){
列表推送(doc1);
}
});
打印(列表);

使用聚合将匹配的
电话号码
加入到
main\u hikansou
集合中

db.collection('main_hikanshou').aggregate([
    { $lookup:
        {
           from: 'main_kokyaku',
           localField: 'phone_number',
           foreignField: 'phone_number',
           as: 'phoneNumber'
        }
    }
])

使用聚合将匹配的
电话号码
加入到
main\u hikansou
集合中

db.collection('main_hikanshou').aggregate([
    { $lookup:
        {
           from: 'main_kokyaku',
           localField: 'phone_number',
           foreignField: 'phone_number',
           as: 'phoneNumber'
        }
    }
])
你可以用

试试这个:

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);
})
你可以用

试试这个:

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);
})

您可以在
中使用
$in
它将有助于提高性能。感谢您的评论,它将返回类似以下内容的
{“\u id”:ObjectId(“5e059c3a122f4127b8760e99”),“phone_number”:“54345689”,“phoneNumber”:[]}
对于所有值,您可以在中使用
$in,这将有助于提高性能。感谢您的评论,它返回如下内容:
{“_id”:ObjectId(“5e059c3a122f4127b8760e99”),“phone_number:“54345689”,“phoneNumber:[]}
对于所有值感谢您的评论,它说
E QUERY[thread1]TypeError:db.main_hikanshou不是一个函数:@(shell):1:1
谢谢,这似乎奏效了!顺便问一下,我如何将其导出为
.csv
?很抱歉,我是Mongothanks的新手,你的评论是这样的,上面写着
E QUERY[thread1]TypeError:db.main\u hikansou不是一个函数:@(shell):1:1
谢谢,这似乎奏效了!顺便问一下,我如何将其导出为
.csv
?对不起,我是刚到蒙哥的