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 是一个不错的选择。
希望对您有所帮助。
这段代码在我的本地机器上运行良好。
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 是一个不错的选择。
希望对您有所帮助。