如何在 MongoLab 上定义 PFRelation,就像在 Parse 上一样?
How to define a PFRelation on MongoLab, like the way it was on Parse?
我在 Heroku 上有一个解析服务器,配置了 MongoLab 作为附加组件。
我现在可以连接客户端,甚至可以检索 PFObjects 数组。
我在 MongoLab 上有 2 个文档:Recipe
和 Ingredient
。
我的问题是我如何在 MongoLab 上定义 PFRelation(就像它在 Parse BaaS 上的方式)。不想过多修改客户端代码
我看到 MongoLab 可以使用与嵌入式文档或文档引用的一对多关系。我都试过了,但每次我都收到这个错误:
[Error]: {"code":1,"message":"Internal server error."} (Code: 1, Version: 1.12.0)
这是对嵌入文档的尝试:
{
"_id": {
"$oid": "56c581f3e4b07bf05b29fac6"
},
"name": "Banana pancake",
"steps": [
"Mix",
"Cook"
],
"ingredients": [
{
"category": "Diary and eggs",
"name": "eggs",
"quantity": "3",
"unit": "pc"
}
]
}
这是我的 swift 代码:
menuRecipes.map {
[=11=].ingredients.query().findObjectsInBackground(). .....
}
解析服务器处理关系的方式与 parse.com 相同。但是不支持原生 mongo 关系。您现在必须在数据库中手动设置这些关系,这很容易出错。也就是说,可以这样做:
"ingredients": [{
"__type": "Pointer",
"className": "Ingredient",
"objectId": "tnYLlRXChj",
"category": "Diary and eggs",
"name": "eggs",
"quantity": "3",
"unit": "pc"
}]
还要确保在您的 _SCHEMA
集合中 Recipe
文档的字段 ingredients
设置为 array
。
我在 Heroku 上有一个解析服务器,配置了 MongoLab 作为附加组件。 我现在可以连接客户端,甚至可以检索 PFObjects 数组。
我在 MongoLab 上有 2 个文档:Recipe
和 Ingredient
。
我的问题是我如何在 MongoLab 上定义 PFRelation(就像它在 Parse BaaS 上的方式)。不想过多修改客户端代码
我看到 MongoLab 可以使用与嵌入式文档或文档引用的一对多关系。我都试过了,但每次我都收到这个错误:
[Error]: {"code":1,"message":"Internal server error."} (Code: 1, Version: 1.12.0)
这是对嵌入文档的尝试:
{
"_id": {
"$oid": "56c581f3e4b07bf05b29fac6"
},
"name": "Banana pancake",
"steps": [
"Mix",
"Cook"
],
"ingredients": [
{
"category": "Diary and eggs",
"name": "eggs",
"quantity": "3",
"unit": "pc"
}
]
}
这是我的 swift 代码:
menuRecipes.map {
[=11=].ingredients.query().findObjectsInBackground(). .....
}
解析服务器处理关系的方式与 parse.com 相同。但是不支持原生 mongo 关系。您现在必须在数据库中手动设置这些关系,这很容易出错。也就是说,可以这样做:
"ingredients": [{
"__type": "Pointer",
"className": "Ingredient",
"objectId": "tnYLlRXChj",
"category": "Diary and eggs",
"name": "eggs",
"quantity": "3",
"unit": "pc"
}]
还要确保在您的 _SCHEMA
集合中 Recipe
文档的字段 ingredients
设置为 array
。