我有一个类似的文件:
{
idx: {a: 1, b: 2, c: 3},
v: "a"
}
在聚合查询中,我想通过获取x
的值并使用它在v
中找到相应的值来向文档中添加字段idx
。生成的文档如下所示:
{
idx: {a: 1, b: 2, c: 3},
v: "a",
x: 1
}
我已经尝试过诸如$addFields: {x: "$idx.$a"}
和$addFields: {x: "$idx[$a]"}
之类的事情,但是这些都不起作用。我已经扫描了管道运算符的列表,但是看不到有任何帮助。这可能吗?
答案 0 :(得分:1)
没有简单的方法,但是您可以利用$objectToArray运算符来获取std::wstring_convert
作为键和值的数组,然后将$filter与$arrayElemAt一起使用来进行匹配元素。
idx