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

Mongodb 如何使用mongo聚合框架将$oid哈希值作为字符串获取?,mongodb,mongoid,Mongodb,Mongoid,我有一个包含json输出的对象的集合,如下所示: { "_id": { "$oid": "53107ed2e6fb449fa641b903" }, "title": "myBook" } 但我想得到这个: { "_id": "53107ed2e6fb449fa641b903", "title": "myBook" } 我尝试了点符号和$project,但不起作用: db.books.aggregate({ $project: { _id: "$_id.

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

{
  "_id": {
    "$oid": "53107ed2e6fb449fa641b903"
  },
  "title": "myBook"
}
但我想得到这个:

{
  "_id": "53107ed2e6fb449fa641b903",
  "title": "myBook"
}
我尝试了点符号和$project,但不起作用:

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

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

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

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

您想要的id可能是字符串而不是ObjectID的重复。我说得对吗?我想这是他问题的全部要点。如何使用$oid执行此操作。