【发布时间】:2020-12-03 06:24:34
【问题描述】:
我正在从事的项目使用 mongodb 作为数据库,并有一个模拟数据生成器。 当通过模拟数据生成器生成数据时,它会在数据库中创建带有字符串 ID 的对象。 而我们的后端应用程序 Spring boot 使用 spring data mongodb 存储新对象,_id 为 ObjectId
{
"_id" : ObjectId("6163686f6c64722d30303031"),
"email" : "Price36@hotmail.com",
"modeOfContact" : "EMAIL",
"name" : "Leonardo Walter",
"phone" : "08802273531"
}
{
"_id" : "customer-1",
"email" : "Casimer_Jakubowski@hotmail.com",
"modeOfContact" : "EMAIL",
"name" : "Kennedy Kilback",
"phone" : "07624333004"
}
现在我们有一个基于节点的应用程序,仅用于获取调用,它使用“mongodb”包来解析查询。
当我对带有 String _id 的对象进行以下查询时,它可以工作
findDocument(COLLECTION_NAME, { _id: args.id})
但是当对象的 _id 为 ObjectId 时查询失败
有没有一种方法可以通过提供 _id 和数据类型来搜索对象
喜欢
findDocument(COLLECTION_NAME, { _id: args.id , $type: [ 'string', 'ObjectId']})
我知道 $type 会返回所有 _id 与该类型匹配的记录。只是想解释一下我想在这里实现什么。
【问题讨论】:
标签: node.js mongodb graphql express-graphql