ans*_*992 2 arrays mongodb node.js
我想使用 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"
}]
Run Code Online (Sandbox Code Playgroud)
示例代码
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);
});
}});
Run Code Online (Sandbox Code Playgroud)
但它仍然只插入第一个值,请告诉我如何插入所有这些文件。
请仔细阅读我的帖子并建议我一些解决方案。
在您的示例代码中,您只添加了 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);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7437 次 |
| 最近记录: |