{
acknowledged: true,
insertedId: new ObjectId("612d9d08db9c20f031033478")
}
这是我在向 MongoDB 添加文件和其他一些东西时得到的 JSON 格式,我想单独获取这个 id 以将文件保存到另一个文件夹。
谁能解释一下?
我相信 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'];
}
如果您在 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
保存在文档中
如果这是一个 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;
}