2
{
  acknowledged: true,
  insertedId: new ObjectId("612d9d08db9c20f031033478")
}

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

谁能解释一下?

4

3 回答 3

2

我相信 Vikas 在这个线程中回答了这个问题How to get value from specific key in NodeJS JSON [重复]

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

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

function jsonParser(stringValue) {
 
        var string = JSON.stringify(stringValue);
        var objectValue = JSON.parse(string);
        return objectValue['mm'];
}
于 2021-08-31T03:37:46.660 回答
0

如果您在 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保存在文档中

于 2021-08-31T04:42:56.420 回答
0

如果这是一个 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;

}

于 2021-08-31T04:06:24.643 回答