我试图对一个集合中的一组记录进行状态更新,其中ID存在于不同的集合中。
我无法想到你将如何构建这样的查询,我相信我会将它添加到finaAndModify函数中,如下所示。
我想要做的是:
db.raw_originBusinessData中的SELECT记录WHERE objectCycle_ID EXISTS in db.std_sourceBusinessData。
这是我要完成的脚本,如果findAndModify是错误的方法,请告诉我,非常感谢。
db.std_sourceBusinessData.findAndModify({
query: { ? },
update: { $objectStatus: { $literal: "PROCESSED" } },
})
答案 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。