如何使用mongo聚合框架将$ oid哈希值作为字符串?

时间:2014-03-01 10:49:42

标签: mongodb mongoid

我有一个带有json输出的对象的集合,如下所示:

{
  "_id": {
    "$oid": "53107ed2e6fb449fa641b903"
  },
  "title": "myBook"
}

但我想得到这个:

{
  "_id": "53107ed2e6fb449fa641b903",
  "title": "myBook"
}

我尝试使用点符号和$ project但它不起作用:

db.books.aggregate({
  $project: {
    _id: "$_id.oid",
    title: 1 
  }
)

1 个答案:

答案 0 :(得分:1)

您的汇总查询语法看起来不正确。试试这个:

db.books.aggregate([{$project:{_id:"$_id.oid", title:1}}])

另外,在输入json中,你有oid的'$'前缀(即“$ oid”)。这在MongoDB中是非法的。