Mongo API 的更新插入不适用于 Azure Cosmos DB

Upsert of Mongo API not working with Azure Cosmos DB

这段代码在我的本地机器上运行良好。

 Bulk.find({"xyz":23}).upsert().update({$set : 5465}); 

 Bulk.execute(function (err, data) {});

当我将此代码移至 Azure 后,它无法正常工作。我知道 cosmosDB 不支持 upsert。是 ryt 吗?

参考:
https://docs.microsoft.com/en-us/azure/cosmos-db/mongodb-feature-support#database-commands

我应该用 find 和 insert 替换还是正常更新?或者还有其他可用的解决方案吗?请帮忙。

是的,根据文档 MongoDB query language support ,cosmos db mongo api 不支持 upsert() 命令。据我所知,到目前为止,这里没有捷径。需要封装判断一个文档是否存在的方法,然后决定是插入还是更新。

或者,只是声明 Cosmos Document DB SDK 支持 Upsert 方法。请参考案例:.
如果您可以进行数据迁移,Cosmos Document DB 是一个不错的选择。

希望对您有所帮助。