如何解决在mongodb中更新和插入多个文档
我试图更新并将许多输入文档插入到 mongodb 中。
我找到了很多资源,但除了bulkWrite
之外没有找到最佳解决方案。
我的文档如下所示。
[
{
pId: "p1",apikey: "a2",primaryKey: "key1",type: "augmented"
flag: "train",count: 0,createdAt: 1622128794647
},{
pId: "p2",primaryKey: "key2",createdAt: 1600258007285
}
]
如果 pId
、apikey
和 primaryKey
匹配,则应增加计数,否则将创建新文档
我有大量的对象。
使用循环我试图像下面那样做 bulkWrite
。
是否有任何可能的解决方案,如果我的输入文档更大(5k 或 10k),成本会更高吗?
inputDocs.map(input=>{
const { pId,apikey,primaryKey }=input;
let ops =[];
ops.push(
{
updateOne:{
filter:{
pId,primaryKey
},update:{
"$inc":{
count: 1
}
}
}
},{
updateOne:{
filter:{
pId,update:{
"$set":{
...input,createdAt: Date.Now(),updatedAt: Date.Now()
}
}
}
}
);
db.collection("process").bulkWrite(ops);
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。