Mongodb将objectId作为字符串返回

问题描述 投票:0回答:2
db.getCollection('User').find({
    "userId" : ObjectId("5a141ac4048378xb52c3e5a9"),
        "userRole" : "ADMIN",
        "Id" : "1234567890"})

    result:
    {
        "userId" : ObjectId("5a141ac4048378xb52c3e5a9"),
        "userRole" : "ADMIN",
        "Id" : "1234567890"
    }

    Expecting output:
    {
        "userId" : "5a141ac4048378xb52c3e5a9",
        "userRole" : "ADMIN",
        "Id" : "1234567890"
    }

我是非常新的mongodb,他们将objectId作为String返回,我需要一些建议去做。

mongodb mongodb-query
2个回答
0
投票

可以使用以下方法简单地完成

db.User.find({"userId": objectId("5a141ac4048378ab52c3e5a9")}).map(
      function(doc) { 
         return { "userId": doc.userId.str}
      });

有关更多方法,请参阅ObjectId


0
投票

您可以尝试使用aggregation但是ObjectId不是字符串,它只是数字,为什么要将它呈现为字符串?

© www.soinside.com 2019 - 2024. All rights reserved.