问题标签 [realm-functions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
202 浏览

javascript - 如何在 Realm 自定义解析器函数 find() 响应中映射结果?

我正在尝试为我的自定义解析器创建一个函数,该函数获取集合中的所有文档并返回带有新数据的修改后的有效负载。下面是我用来获取一个客户端并修改其数据的代码:

如何修复此功能以获取所有客户端并循环它们以向每个客户端添加数据?我明白改变这个: let client = clientRecords.findOne({"_id": clientId}); 为此,让客户 = clientRecords.find();

将从客户端集合中获取所有文档。之后我将如何遍历每个客户端?

更新

我已将该函数更新为以下内容,并且在领域环境中运行它时它可以工作,但在将它作为 GraphQL 查询运行时给我一个错误。

更新代码:

GraphQL 中的错误:“消息”:“返回的未决承诺永远不会解决/拒绝”,

0 投票
0 回答
18 浏览

mongodb - 如何在 MongoDB 领域函数中按 id 查找文档?

我正在 MongoDB Realm 中编写一个函数,我想将其用作 GraphQL 的自定义解析器。函数的一部分应该通过它的 id 来获取一个特定的文档。根据文档,我可以使用context.services.get('mongodb-atlas'). 这是简化的代码摘录:

但是,findOne()调用返回null。我知道上面的 id 是有效的,因为我可以成功调用collection.find()并列出所有带有 id 的文档。

我试过的

  • findOne({"_id": "61d..."})- 回报null
  • findOne({"_id": new ObjectId("61d...")})- 错误:未定义“ObjectId”。
  • 按照此处const ObjectId = require('mongodb').ObjectId的建议显式声明 ObjectId - 错误:“不支持 MongoDB Node.js 驱动程序”。
  • const ObjectId = require('bson').ObjectId用-声明 ObjectId再次findOne()返回null

您能推荐任何其他途径来进行此查找吗?