【问题标题】:How to get the id from the given lines of code?如何从给定的代码行中获取 id?
【发布时间】:2021-08-31 03:28:21
【问题描述】:
{
  acknowledged: true,
  insertedId: new ObjectId("612d9d08db9c20f031033478")
}

这是我在向 MongoDB 添加文件和其他一些东西时得到的 JSON 格式,我想单独获取这个 id 以将文件保存到另一个文件夹。

谁能解释一下?

【问题讨论】:

    标签: node.js mongodb express object hbs


    【解决方案1】:

    我相信 Vikas 在这个帖子 How to get value from specific key in NodeJS JSON [duplicate] 中回答了这个问题

    编辑了答案。现在它适用于上述对象

    您可以使用以下函数来访问 JSON 的键。我有 专门返回 'mm' 键。

    function jsonParser(stringValue) {
     
            var string = JSON.stringify(stringValue);
            var objectValue = JSON.parse(string);
            return objectValue['mm'];
    }
    

    【讨论】:

      【解决方案2】:

      如果这是一个 JSON 字符串,首先你必须将它解析为对象 liertal,然后你可以访问你提到的指定属性,所以你可以这样做:

      function parseJsonString(jsonString) {
          // first parse it to object
          var obj = JSON.parse(jsonString);
          // now access your object property/key
          var id = obj.insertedId;
      

      }

      【讨论】:

        【解决方案3】:

        如果您在 mongodb shell 或 Robo3T 上执行此操作,则代码行将是: db.collection_name.find({},{insertedId:1}) 这与projection 有关。 1 表示您希望将其显示为您的输出。

        在您的情况下,您只希望显示对象 id 的值,您必须使用 .valueOf() ;那是ObjectId().valueOf()

                             ->  insertedId: new ObjectId("612d9d08db9c20f031033478") 
                             ->  ObjectId("612d9d08db9c20f031033478").valueOf()
                             ->
                             ->  612d9d08db9c20f031033478
        

        您可以参考这个:https://docs.mongodb.com/manual/reference/method/ObjectId.valueOf/ 站点供您参考。

        所以你可以在你的代码中使用这个.valueOf(),并把id保存在文档中

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-01-21
          • 1970-01-01
          • 2011-01-07
          相关资源
          最近更新 更多