Предположим, у меня есть документ, содержащий массив встроенных документов с такой же структурой:
{
"_id": ObjectId('5c41c2a3c3238118a0950a7b'),
"subdocuments": [
{
"_id": ObjectId('5c41c2b4c3238118a0950a7c'),
"field1: "A",
"field2: "A"
},
{
"_id": ObjectId('5c41c2b6c3238118a0950a7d'),
"field1: "B",
"field2: "C"
}
]
}
Я хочу сравнить field1
и field2
в одном и том же поддокументе и спроецировать результат внутри этого поддокумента, т. Е .:
{
"_id": ObjectId('5c41c2a3c3238118a0950a7b'),
"subdocuments": [
{
"_id": ObjectId('5c41c2b4c3238118a0950a7c'),
"field1: "A",
"field2: "A",
"fields_equal": true
},
{
"_id": ObjectId('5c41c2b6c3238118a0950a7d'),
"field1: "B",
"field2: "C",
"fields_equal": false
}
]
}
Я хотел бы сделать это без необходимости раскручивать subdocuments
. Это не работает:
'$addFields': {
'subdocuments.fields_equal': {
'$eq': ['$subdocuments.field1','$subdocuments.field2']
}
}
Есть идеи, как это сделать? Или даже если это возможно?