下面是我插入 1000 个文档的
bulkWrite
方法。问题是我无法从结果中提取总计 upsertedCount
。
我得到的都是单独的
BulkWriteResult
,每个插入的文档如下所示
console.log(results) :->
BulkWriteResult {
insertedCount: 0,
matchedCount: 0,
modifiedCount: 0,
deletedCount: 0,
upsertedCount: 1,
upsertedIds: { '0': new ObjectId('6684fe4d1625ae49f6233577') },
insertedIds: {}
}
如果有人提出解决方案,我将不胜感激。 方法->
db.collections.bulkWrite([
{updateMany :
{
"filter": {"name": product.name},
"update": {"$setOnInsert" : {
name: product.name,
description: product.description,
price: product.price,
category: product.category,
}},
upsert: true
}
}
],{ ordered: false } )
.then(results => {
console.log(results)
})
.catch(err=>Error(err))
我在 MongoDB 文档中搜索,但在他们的文档中找不到任何关于如何提取总数的解决方案
upsertedCount
。
BulkWriteResult 类的文档 - https://mongodb.github.io/node-mongodb-native/6.8/classes/BulkWriteResult.html
您应该能够像 results.upsertedCount
一样直接读取upsertedCount 属性