使用 MongoDB API 无法使用 Prisma 和 CosmosDB 进行更新

Posted

技术标签:

【中文标题】使用 MongoDB API 无法使用 Prisma 和 CosmosDB 进行更新【英文标题】:Updates not possible with Prisma and CosmosDB with MongoDB API 【发布时间】:2022-01-22 18:17:16 【问题描述】:

我很高兴最近了解了Prisma,并迅速在我的最新项目中替换了 mongoose。

通过使用连接字符串,集成很容易,并且与 CosmosDB 的连接工作正常。

我的问题:似乎我无法更新任何数据,因为 CosmosDB 正在抛出原始错误:

Invalid `prisma.addresses.update()` invocation:


Error occurred during query execution:
ConnectorError(ConnectorError  user_facing_error: None, kind: RawError  code: "unknown", message: "Command failed (BadValue): Expected type object but found array.)"  )

我正在运行 Azure (4.0) 上可用的最新 MongoDB 服务器版本,并且更新非常基础:

await this.prisma.addresses.update(
  where: 
    id: 'something',
  ,
  data: 
    city: 'Something'
  
)

查询和创建文档没有造成任何问题。

【问题讨论】:

你能分享你的架构吗? 【参考方案1】:

取决于将参数传递给方法所需的架构。无论是更新、创建还是删除。

检查您的 prisma 文件夹下的schema.prisma,查找地址并检查更新参数。

如果想了解更多不同的用例,可以参考这个doc

还可以查看此blog 以获取有关 node.js 和 prisma 的见解。

【讨论】:

以上是关于使用 MongoDB API 无法使用 Prisma 和 CosmosDB 进行更新的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 express API 和节点 JS(Angular 4)将数据发布到 mongodb

无法使用 PRISM 5、MVVM 和 EF 6 在 WPF 中刷新 DataGrid

Prism:如何在区域中注入视图模型实例?

使用Prism 7.1,x在UnityContainer中注册模拟对象以进行单元测试

使用 Prism Xamarin 表单创建动态 TabbedPage

使用Prism Xamarin表单创建动态TabbedPage