在一个集合中选择ID与另一个集合中的ID匹配的文档

时间:2015-12-15 20:14:43

标签: mongodb findandmodify

我试图对一个集合中的一组记录进行状态更新,其中ID存在于不同的集合中。

我无法想到你将如何构建这样的查询,我相信我会将它添加到finaAndModify函数中,如下所示。

我想要做的是:

db.raw_originBusinessData中的SELECT记录WHERE objectCycle_ID EXISTS in db.std_sourceBusinessData。

这是我要完成的脚本,如果findAndModify是错误的方法,请告诉我,非常感谢。

db.std_sourceBusinessData.findAndModify({
  query: { ? },
  update: { $objectStatus: { $literal: "PROCESSED" } },
})

1 个答案:

答案 0 :(得分:0)

据我所知,你所建议的是不可能的,因为

  

MongoDB不支持联接

来自:https://docs.mongodb.org/ecosystem/tutorial/model-data-for-ruby-on-rails/

findAndModify适用于集合。请参阅:https://docs.mongodb.org/v3.0/reference/method/db.collection.findAndModify/

您可以通过两个查询在应用程序代码中执行此操作,使用第一个查询的结果进行第二次

OR

您可以对数据进行非规范化,从而在集合中的每个文档/行中保存所需的ID。