有人可以告诉我在mongodb结果中是否可以使用字段值作为键。如果我有
这样的文档{'code': 'xxx', 'item': 'yyy'}
{'code': 'ooo', 'item': 'eee'}
我想得到结果,其中代码值将是关键
{'xxx': 'yyy'}, {'ooo': 'eee'}
答案 0 :(得分:4)
如果要动态构建密钥,则必须使用$arrayToObject。它使用k
和v
字段的数组作为参数。要使其扎根,您可以使用$replaceRoot阶段,请尝试:
db.col.aggregate([
{
$replaceRoot: {
newRoot: { $arrayToObject: [ [ { k: "$code", v: "$item" } ] ]}
}
}
])
答案 1 :(得分:-1)
我认为那不可能。 Mongo将结果的解释留给应用程序。这就是为什么mongodb是一个无Shema的数据库。