MongoDB documentation for updateOne()提到:
返回:包含以下内容的文档
- 布尔值
acknowledged
为true,如果操作运行时带有写关注点 或false(如果禁用了写关注)matchedCount
包含匹配的文档数modifiedCount
包含修改后的文档数upsertedId
包含上位广告的_id 文件
var document = await db.collection(collectionName).updateOne()
返回的文档与上面的文档根本不相似:
{
"n": 1,
"nModified": 1,
"opTime": {
"ts": "6677868873271738369",
"t": 2
},
"electionId": "7fffffff0000000000000002",
"ok": 1,
"operationTime": "6677868873271738369",
"$clusterTime": {
"clusterTime": "6677868873271738369",
"signature": {
"hash": "FoBe2OKGcrvuw0yc54BJ0WcOsmI=",
"keyId": "6673465299137724417"
}
}
}
返回的文档存在许多问题:
n
之类的缩略名称,它们没有任何意义,也似乎没有文档记录。updateOne
文档中没有指向文档格式及其字段的完整描述的链接。 JSON.stringify()
和document
上的document.result
返回相同的内容。 updateOne()
返回的文档实际记录在哪里?
答案 0 :(得分:0)
正如@neillunn在他的评论中提到的,mongodb.com没有节点驱动程序的文档。 mongodb.com上的文档适用于JavaScript Shell驱动程序。
Official documentation for the mongodb
node module is hosted on GitHub
另外, matchedCount
,modifiedCount
等都是getter函数,不会出现在JSON字符串化响应中。但是它们确实存在:
console.log(`Inserted ${dbResponse.upsertedCount} docs, modified ${dbResponse.modifiedCount}`)
the minified fields is at GitHub
的描述另外,upsertedCount
的命名不正确,因为它不包含更新,仅包含插入的文档。
(如果愿意,请尼尔发表自己的答案,我会标记为正确)