首页 文章

Mongo API的Upsert不能与Azure Cosmos DB一起使用

提问于
浏览
2

此代码在我的本地计算机上正常运行 .

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

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

当我将此代码移动到Azure时,它无法正常工作 . 我认识到cosmosDB不支持upsert . 那是什么?

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

我应该替换为find并插入或更新正常吗?或者还有其他解决方案吗?请帮忙 .

1 回答

  • 1

    是的,基于doc MongoDB query language support,cosmos db mongo api不支持 upsert() 命令 . 据我所知,到目前为止还没有捷径 . 您需要封装方法以确定文档是否存在,然后决定插入或更新 .

    或者,只是声明Cosmos Document DB SDK支持 Upsert 方法 . 请参考案例:How can I perform an UPSERT using Azure DocumentDB? .
    如果您可以进行数据迁移,Cosmos Document DB是一个不错的选择 .

    希望它能帮到你 .

相关问题