MongoDB 更新字段或插入新文档
MongoDB update field or upsert new document
我正在尝试更新文档中的字段(如果存在),如果不存在,我想更新整个文档。如果没有 运行 两个查询是否可能,一个用于搜索文档,另一个用于 update/insert?
这是我卡住的地方(product
和 shopId
是变量):
db.collection.updateOne(
{ "ref": product.ref, "sizesData.shop": shopId },
{ "$set": { "sizesData.$": { "$max": { "mostRecentPrice": product.price } } },
{ upsert: true }, },
)
如果文档存在,我正在尝试更新 sizesData
子文档中的 mostRecentPrice
。但是如果文档不存在,我想创建一个全新的文档。是否有可能在单个查询中?谢谢。
你不应该使用 the positional operator with upsert:
Do not use the positional operator $ with upsert operations because inserts will use the $ as a field name in the inserted document.
看来你需要多次访问数据库
我正在尝试更新文档中的字段(如果存在),如果不存在,我想更新整个文档。如果没有 运行 两个查询是否可能,一个用于搜索文档,另一个用于 update/insert?
这是我卡住的地方(product
和 shopId
是变量):
db.collection.updateOne(
{ "ref": product.ref, "sizesData.shop": shopId },
{ "$set": { "sizesData.$": { "$max": { "mostRecentPrice": product.price } } },
{ upsert: true }, },
)
如果文档存在,我正在尝试更新 sizesData
子文档中的 mostRecentPrice
。但是如果文档不存在,我想创建一个全新的文档。是否有可能在单个查询中?谢谢。
你不应该使用 the positional operator with upsert:
Do not use the positional operator $ with upsert operations because inserts will use the $ as a field name in the inserted document.
看来你需要多次访问数据库