我有两个收藏集foo
和bar
。
Bar有一个元素数组,其中包含对foo
数组中嵌套元素的外键引用。
foo
和bar
的示例如下:
Foo:
[
{
id: "abc",
foo_things: [
{
id: "def",
type: 0,
value: "someValue"
},
{
id: "ghi",
type: 1
value: "someOtherValue"
}
]
},
{
id: "abc2",
foo_things: [
{
id: "def2",
type: 2,
value: "someValue"
},
{
id: "ghi2",
type: 1,
value: "somethingDifferent"
}
]
}
]
栏:
[
{
id: "xyz",
bar_things: [
{
id: "id",
foo_thing_id: "def",
value: "Blubb"
},
{
id: "id2",
foo_thing_id: "ghi2",
value: "Blobb"
}
]
}
]
所以我想要实现的是:
查找所有类型为0或2且值为foo_things
(在编译时未知的值)的someValue
,将其更改为null,以及引用该{的所有bar_things
根据{{1}}的类型,{1}}的值应设置为null或为空数组。
我有点茫然,因为我是MongoDB的新手,还没有研究复杂的查询。有没有一种整齐的方法可以执行此操作,或者我必须将其包装到多个查询中?