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

时间:2018-03-22 20:06:47

标签: mongodb azure mongoose azure-cosmosdb upsert

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

 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 个答案:

答案 0 :(得分:1)

是的,基于文档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是一个不错的选择。

希望它对你有所帮助。

相关问题