Loopback 3.8和Azure Cosmos DB

时间:2017-06-02 13:55:43

标签: mongodb loopbackjs azure-cosmosdb

我们有一个使用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一起正常工作的内容?

感谢。

1 个答案:

答案 0 :(得分:0)

这是因为cosmosdb的基础不再是MongoDB,它只是允许您使用熟悉的API进行访问。 MongoDB的连接器不适用于与宇宙数据库的使用,我个人一直在寻找我自己用的解决方案和整个NPM包来到loopback-connector-cosmosdb这工作了一些简单的应用,但完全 不受开发人员和环回的支持。