如何使用node.js在mongodb中插入文档数组?

我想使用node.js插入文件数组到mongodb,但插入时只插入第一个数据。

[{ "userid": "5664", "name": "Zero 2679", "number": "1234562679", "status": "contact", "currentUserid": "Abcd" }, { "userid": "5665", "name": "Zero 3649", "number": "1234563649", "status": "contact", "currentUserid": "Xyz" }] 

示例代码

 collection.insert([{"userid": userid,"name": name,"number": number,"status": status,"currentUserid": currentUserid}], function(err, docs) { if (err) { res.json({error : "database error"}); }else { collection.find({currentUserid:currentUserid}).toArray(function(err, users) { res.send(users); }); }}); 

但它仍然插入第一个值,只能告诉我如何插入所有这些文件。

请通过我的post,并build议我一些解决scheme。

在您的示例代码中,您只能添加1个用户。

db.collection('myCollection').insert([doc1, doc2]); 使用批量写入插入两个文件。

在这里看到文档: https : //docs.mongodb.org/manual/reference/method/db.collection.insert/

从你的样本中,你可以做到:

 var data = [{ "userid": "5664", "name": "Zero 2679", "number": "1234562679", "status": "contact", "currentUserid": "Abcd" }, { "userid": "5665", "name": "Zero 3649", "number": "1234563649", "status": "contact", "currentUserid": "Xyz" }]; db.collection('myCollection').insert(data) .then(function() { return db.collection('myCollection').find({number: {$in: ["1234563649", "1234562679"]}}); }) .then(function(res) { console.log(res); });