Mongodb将objectId作为字符串返回

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mongodb将objectId作为字符串返回相关的知识,希望对你有一定的参考价值。

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返回,我需要一些建议去做。

答案

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

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

有关更多方法,请参阅ObjectId

另一答案

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

以上是关于Mongodb将objectId作为字符串返回的主要内容,如果未能解决你的问题,请参考以下文章