如何在Mongodb聚合框架中将值投影为字段



如何从mongodb的字段中投影mongodb中的值。我当前的预测返回结果如下

[
  {
    "_id": "preferred",
    "value": 314
  },
  {
    "_id": "standard",
    "value": 7778
  }
]

但我想把这个结果作为

[
  {
    "preferred": 314
  },
  {
    "standard": 7778
  }
]

我试过

db.collection.aggregate({...},{$project:{"$_id":"$value"}})

但它不起作用。有什么简单的方法吗?感谢

你总是知道你的_id值是多少吗?如果是这样的话,这样的东西对我有效。(未经测试)

db.collection.aggregate({
    $project:{
        preferred:{
            $cond: [ {$eq:["$_id","preferred"]}, "$value", 0 ]
        },
        standard:{
            $cond: [ {$eq:["$_id","standard"]}, "$value", 0 ]
        }
    }
})

我不知道这可能有多高的性能。

相关内容

  • 没有找到相关文章

最新更新