如何在 MongoLab 上定义 PFRelation,就像在 Parse 上一样?

How to define a PFRelation on MongoLab, like the way it was on Parse?

我在 Heroku 上有一个解析服务器,配置了 MongoLab 作为附加组件。 我现在可以连接客户端,甚至可以检索 PFObjects 数组。

我在 MongoLab 上有 2 个文档:RecipeIngredient。 我的问题是我如何在 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