从Mongo中的输出和嵌套元素中删除_id

时间:2017-08-18 10:33:39

标签: javascript mongodb mongoose

使用我的.findOne功能,我得到了回复:

{
    "_id": "59955bb0cd522a00bcaab08c",
    "lang": "en",
    "__v": 0,
    "message_subsets": [
        {
            "identifier": "errors",
            "_id": "59955bb0cd522a00bcaab08d",
            "messages": [
                {
                    "identifier": "invalid",
                    "message_text": "$FIELD$ is invalid",
                    "_id": "59955bb0cd522a00bcaab091"
                },
                {
                    "identifier": "empty",
                    "message_text": "$FIELD$ is required",
                    "_id": "59955bb0cd522a00bcaab090"
                }
            ]
        }
    ]
}

有没有办法从输出中排除_id及其带有一些.findOne查询参数的嵌套元素?

2 个答案:

答案 0 :(得分:1)

我对此并不是100%肯定,但我认为mongo总是在查询查询中返回ID,您可以尝试:

Query.findOne({_id: queryId}).select("-_id")

我还没有对此进行测试,我不确定这是否有效。但值得一试; - )

答案 1 :(得分:1)

让我们说集合是测试

db.test.findOne({},{_id:0,"message_subsets.messages._id":0, "message_subsets._id":0 })