Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cosmos DB和MongoDB上的不同upsert行为_Mongodb_Azure_Azure Cosmosdb - Fatal编程技术网

Cosmos DB和MongoDB上的不同upsert行为

Cosmos DB和MongoDB上的不同upsert行为,mongodb,azure,azure-cosmosdb,Mongodb,Azure,Azure Cosmosdb,我在Cosmos DB中遇到了一个问题,其中使用{upsert:true}查询的行为以及每次应用插入值,而不管操作是插入还是更新 下面的示例查询在Cosmos DB和MongoDB上运行时的结果显示,defaultQty的最终值存在差异 db.products.remove({}) // WriteResult({ "nRemoved" : 1 }) db.products.insert({ _id: 1, item: "apple", price: 0.05, defaultQty: 50}

我在Cosmos DB中遇到了一个问题,其中使用
{upsert:true}
查询的行为以及每次应用插入值,而不管操作是插入还是更新

下面的示例查询在Cosmos DB和MongoDB上运行时的结果显示,
defaultQty
的最终值存在差异

db.products.remove({})
// WriteResult({ "nRemoved" : 1 })

db.products.insert({ _id: 1, item: "apple", price: 0.05, defaultQty: 50})
// WriteResult({ "nInserted" : 1 })

db.products.find({})
// { "_id" : 1, "item" : "apple", "price" : 0.05, "defaultQty" : 50 }

sleep(100)
db.products.update(
    { _id: 1 },
    { $set: { price: 0.10 }, $setOnInsert: { defaultQty: 100 }},
    { upsert: true }
)
// WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

db.products.find({})
// { "_id" : 1, "item" : "apple", "price" : 0.1, "defaultQty" : 100 }
这是3T工作室并排拍摄的屏幕截图

有人经历过吗


谢谢

是的,这是一个已知的问题,不久将在Azure Cosmos DB中修复

此问题现在已修复,等待部署。你可以在这里跟踪进度

部署完成后,我们将发布更新


谢谢

谢谢!是否有任何官方渠道/变更日志来检查并查看此问题是否在以后得到解决?通常,您可以在User Voice()上创建一个项目,以便对其进行投票,然后您可以查看它何时处于开发/修复状态。不过,修复程序已经在进行中。应该在月底前提供。这不是答案。你可以添加此作为评论。我可以确认我们的测试通过,这似乎是固定的!非常感谢。