如何从mongodb

时间:2019-04-16 06:27:21

标签: javascript node.js json mongodb mongoose

我正在使用mongoose使用nodejs连接到mongodb来设置新服务器。当我使用model.find()时,它将返回数据,但不返回mongodb中的默认json类型

User.find({}, (err, docs) => {
  if (err) {
    res.send({
      status: false,
      message: err
    })
  } else if (docs) {

    res.json(docs);
  } else {
    res.send({
      status: false
    })
  }
})

这就是我得到的

{
  "_id": "5c25b0dc44eb7569f240e13c",
  "username": "",
  "idScores": [
    "5c1e100a44eb7569f240e118",
    "5c1e104744eb7569f240e11a"
  ]
}

但是我想要这个结果

{
  "_id": {
    "$oid": "507c35dd8fada716c89d0013"
  },
  "username": "",
  "idScores": [{
      "$oid": "5c1e100a44eb7569f240e118"
    },
    {
      "$oid": "5c1e104744eb7569f240e11a"
    }
  ]
}

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

针对别名ObjectId()-> $ oid的严格MongoDB扩展JSON  read more

1)JSON只能表示BSON支持的类型的子集。

2)为了保留类型信息,MongoDB向JSON格式添加了以下扩展名。

3)用于各种数据类型的表示形式取决于解析JSON的上下文。

{"_id": {"$oid":"507c35dd8fada716c89d0013"})
// is same as
{"_id": "507c35dd8fada716c89d0013"}

您不必在每个_id元素中添加“ $ oid”,它只是一种表示法。您可以使用点_id

进行访问