如何解决如何使用Mongo ObjectId的24字节十六进制字符串在Parse Server中查询对象?
我想设置解析服务器以连接到我之前创建的远程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 举报,一经查实,本站将立刻删除。