问题描述
我想设置解析服务器以连接到我之前创建的远程MongoDB。但是我注意到常规MongoDB存储objectId
的方式与Parse Server不同:
- MongoDB使用其 ObjectId :
"_id" : ObjectId("5ec2910bd1fd472cb144b63e")
(对于我来说,集合的student
是我之前创建的旧版本,它使用了MongoDB ObjectId ) - Parse Server为它创建的类使用10字节的字符串:
"_id" : "7MzrS2bIyJ"
(我们将集合的名称命名为Gamescore
,这是我通过Parse Server创建的集合 )
为了通过类Gamescore
从类_id
获取对象,我可以执行以下操作:
- REST:
localhost:1337/parse/classes/Gamescore/7MzrS2bIyJ
- GraphQL:
{
gamescore(id: "7MzrS2bIyJ") {
player_name
score
}
}
对于类Gamescore
,一切正常,我可以照常找到对象。
但是,如果我对课程student
做同样的事情:
- REST:
localhost:1337/parse/classes/student/5ec2910bd1fd472cb144b63e
- GraphQL:
{
student(id: "5ec2910bd1fd472cb144b63e") {
id
first_name
last_name
}
}
然后在两种情况下我都应该得到"error": "Object not found."
。
我知道问题是因为解析服务器将使用字符串5ec2910bd1fd472cb144b63e
与数据库中的_id ObjectId("5ec2910bd1fd472cb144b63e")
进行比较,当然,它们并不相等。因此,我得到“找不到对象”。
我仍然想保留MongoDB的ObjectId并使用5ec2910bd1fd472cb144b63e
之类的十六进制字符串通过_id获取对象。有什么好的方法可以做到这一点?
谢谢您的回答。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)