简体   繁体   English

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

[英]How to insert array of document in mongodb using node.js?

I want to insert array of document to mongodb using node.js but while inserting it's only inserting first data only. 我想使用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"
}]

Sample code 示例代码

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

But it still inserting first value only can you please tell me how to insert all these documents. 但它仍然只插入第一个值,请你告诉我如何插入所有这些文件。

Please kindly go through my post and suggest me some solution. 请通过我的帖子,并建议我一些解决方案。

In your sample code you are adding only 1 user. 在示例代码中,您只添加了1个用户。

db.collection('myCollection').insert([doc1, doc2]); inserts two documents using bulk write. 使用批量写入插入两个文档。

See documentation here: https://docs.mongodb.org/manual/reference/method/db.collection.insert/ 请参阅此处的文档: https//docs.mongodb.org/manual/reference/method/db.collection.insert/

From your sample, you can do: 从您的样本中,您可以:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM