此代码在我的本地计算机上正常运行 .
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 回答
是的,基于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是一个不错的选择 .
希望它能帮到你 .