如何从MongoDB结果中删除_id?

时间:2016-04-13 06:32:38

标签: mongodb reactivemongo play-reactivemongo

我正在将json文件插入Mongodb(使用Scala / Play框架)并将其同样获取/下载到我的视图页面以获取其他一些要求,但这次它将带有一个“_id”参数json文件。

但我只需要我的实际json文件,它没有任何“_id”参数。我已经阅读了Mongodb教程,默认情况下,它为任何集合文档存储一个_id。

请告诉我,如何在MongoDB中获取或没有任何_id的实际json文件。

这是存储在数据库中的json结果(我不需要“_id”参数)

{
        "testjson": [{
        "key01": "value1",
        "key02": "value02",
        "key03": "value03"
    }],
  "_id": 1
 }

2 个答案:

答案 0 :(得分:2)

如果您查看ReactiveMongo dev guide及其API,可以看到它支持similar way as the MongoDB shell投影。

然后你可以理解你可以做到

collection.find(selector = BSONDocument(), projection = BSONDocument("_id" -> 0))

或者,当您使用JSON serialization时:

collection.find(selector = Json.obj(), projection = Json.obj("_id" -> 0))

答案 1 :(得分:1)

您可以在shell中使用此查询:

db.testtable.find({},{"_id" : false})

这里我们告诉mongoDB不要从集合中返回_id。 您也可以使用0而不是false,如下所示:

db.testtable.find({},{"_id" : 0})

对于scala,您需要根据驱动程序语法将其转换为。