【问题标题】:Parse - How do I query a Class and include another that points to it?Parse - 如何查询一个类并包含另一个指向它的类?
【发布时间】:2015-08-05 01:56:08
【问题描述】:

我有两个类 - _User 和 Car。 _User 将拥有少量/有限数量的汽车。每辆汽车只有一个所有者,因此有一个“所有者”列,它是 _User 的。当我到达用户页面时,我想查看他们的 _User 信息和他们所有的汽车。如有必要,我想在 Cloud Code 中拨打一个电话。

这就是我感到困惑的地方。我有 3 种方法可以做到这一点 -

  1. 在 _User 中有一个名为“汽车”的关系列,它指向每个单独的汽车。如果是这样,为什么我不能在关系上使用“include(cars)”函数来在我的查询中包含 Cars 的数据?!! _User.cars = 关系,Car.owner = _User(pointer)

  2. 查询 _User,然后分别查询所有具有 (owner == _User.objectId) 的 Cars。这是两个查询。 _User.cars = null, Car.owner = _User(pointer)

  3. 在 _User 中有一个名为“汽车”的指针列数组。在汽车创建时手动注入汽车指针。在查询用户时,我会使用“include(cars)”。 _User.cars = [Car(pointer)], Car.owner = _User(pointer)

您推荐的方法是什么?为什么?哪个最快?文档让我更加困惑。

【问题讨论】:

    标签: javascript parse-platform parse-cloud-code


    【解决方案1】:

    我向您推荐第三个选项,是的,您可以要求包含一个数组。您甚至不需要“手动注入”指针,只需将对象添加到数组中,它们就会自动转换为指针。

    【讨论】:

      【解决方案2】:

      你有正确的想法。只是为了澄清一下:

      1. 关系。用户可以有一个名为汽车的关系列。要从用户到汽车,有一个用户查询,然后是第二个查询,例如 user.relation("cars").query,您可以在上面查询 .find()

      2. 您可能会在 Car 中将其称为 belongs_to 指针。要从用户到汽车,您需要查询以获取您的 user,然后您创建一个 carQuery,如 carQuery.equalTo("user", user)

      3. 指针数组。对于小型集合,这优于关系,因为您可以在查询用户时通过在用户查询中说 include("cars") 来积极加载汽车。不确定是否有第二个查询 - 如果 parse (mongo) 将这些存储为嵌入式,则可能没有。

      但我不会因为一两个查询而过于纠结。使用find() 的承诺形式将使您的代码保持整洁。数组技术可能有一个小的速度优势,当集合大小很小(

      很容易用谷歌搜索(或者如果您有具体问题,我会在此处添加)代码示例,用于维护关系以及从 user->car 或 car->user 获取每种方法的代码示例。

      【讨论】:

      • 这就是为什么他有 30k+ 代表点。虽然我只给了你我的建议,但他解释了他(和我)如何在它们之间进行选择。我会努力到达那里的。赞成 =]
      猜你喜欢
      • 2016-05-10
      • 2020-12-03
      • 2015-11-12
      • 1970-01-01
      • 1970-01-01
      • 2013-09-08
      • 2020-05-28
      • 2017-01-04
      • 1970-01-01
      相关资源
      最近更新 更多