我们有一个使用MongoDB连接器v3.1的Loopback v3.8应用程序 它在运行本机MongoDB的环境中运行良好,但现在我们想部署到Azure并使用Cosmos DB,理论上它应该支持所有本机MongoDB命令。
我们遇到的问题是PATCH操作(我认为它通过Loopback映射到Model.updateAttributes)不起作用。 这是我们得到的错误:
无法更新客户端。 {错误:没有客户找到id 592cc132a31109354c45d1d8}
Loopback调试字符串:
loopback:connector:mongodb updateAttributes +7ms Client 592cc132a31109354c45d1d8 { '$set': { loginDate:2017-06-02T12:30:18.201Z } }
loopback:connector:mongodb MongoDB: model=Client command=findAndModify +2ms [ { _id: 592cc132a31109354c45d1d8 },
[ [ '_id', 'asc' ] ],
{ '$set': { loginDate: 2017-06-02T12:30:18.201Z } },
{}, [Function] ]
loopback:connector:mongodb Result: +399ms { _t: 'FindAndModifyResponse', ok: 1, value: null, lastErrorObject: { n: 1, updatedExisting: false, value: null } }
loopback:connector:mongodb updateAttributes.callback +4ms Client 592cc132a31109354c45d1d8 null { _t: 'FindAndModifyResponse', ok: 1,
value: null,
lastErrorObject: { n: 1, updatedExisting: false, value: null } }
如果我们使用其ID对该客户进行GET,我们会得到正确的回复,因此客户文档就在那里。
Loopback MongoDB连接器可以用于Cosmos DB吗? 我们是否遗漏了需要Loopback才能与Cosmos DB一起正常工作的内容?
感谢。
答案 0 :(得分:0)
这是因为cosmosdb的基础不再是MongoDB,它只是允许您使用熟悉的API进行访问。 MongoDB的连接器不适用于与宇宙数据库的使用,我个人一直在寻找我自己用的解决方案和整个NPM包来到loopback-connector-cosmosdb
这工作了一些简单的应用,但的完全 不受开发人员和环回的支持。