使用mongoDB和PHP获取另一个集合值

时间:2017-04-04 07:53:18

标签: php mongodb

我有一个像

这样的集合
"_id": ObjectId("58e33b757100a1e4543f9c5c"),
 "job_title": "Internship Job",
  "category_list": [
             "58de55747100a126748b4567",
              "570660fca88ae1415a3c9869",
              "5706645ea88ae1117a3c9869"
          ]
上面的集合类别中的

来自另一个ObjectIds集合 现在我想将此ID映射到类别集合ID 我只想通过使用PHP来获取类别名称而不是类别ID,请帮助我

1 个答案:

答案 0 :(得分:0)

你可以尝试几件事:

  1. DBRef。您可以将其视为执行循环的捷径。唯一不同的是它由MongoDB完成。所以它会很慢,但很方便。
  2. 您也可以尝试$lookup。但是,它现在不适用于分片群集。
  3. MongoDB中的数据模型设计主要是“平衡”问题。你可以忘记规范化,只做最适合你的用例。在您的情况下,考虑将类别名称嵌入到您的集合中可能会更有意义,因为类别名称通常不会经常更改。因此,您最好从嵌入中受益。很少受此影响。一旦你这样做,最坏的情况是更新所有类别名称 上述假设基于“类别名称不经常更改”的事实。这可能不是真的。那么根据你的事实分析你如何对数据进行CRUD?你经常这样做吗?然后尝试找到最适合您用例的模型。

    一个良好的开端是阅读文档data model design