【发布时间】:2019-03-11 15:42:45
【问题描述】:
我需要将两个嵌套数组与 mongo 进行比较,但我并不是真正的专家,所以我需要一些帮助。
假设我有一个包含数组 slots 的文档:
[
[
{
"start": 1,
"end": 2
}
],
[
{
"start": 3,
"end": 4
},
{
"start": 5,
"end": 6
}
]
]
我需要知道另一个数组是否是它的子集:
db.collection.aggregate([
{
$project: {
slots: {
$setIsSubset: [
[
[
{
start: 1,
end: 2
}
],
[
{
start: 3,
end: 4
},
{
start: 5,
end: 6
}
]
],
"$slots"
]
}
}
}
])
这会返回 true,但如果我删除第二个子数组中的一个元素,它会返回 false,因为子数组不再相等。
我想过做某种$map 来比较每个子数组,但我意识到我不知道如何引用我们要比较的数组的索引。
有什么想法吗?谢谢
编辑:存储数组的第一级和我们与之比较的数组是星期几,因此需要保留信息。
【问题讨论】:
标签: mongodb