Как получить идентификатор из заданных строк кода?
{
acknowledged: true,
insertedId: new ObjectId("612d9d08db9c20f031033478")
}
Это был формат JSON, который я получил, когда добавил файл и некоторые другие вещи в MongoDB, и я хочу получить этот идентификатор отдельно, чтобы сохранить файл в другой папке.
Кто-нибудь может объяснить это?
3 ответа
Я считаю, что на этот вопрос Викас ответил в этой ветке Как получить значение из определенного ключа в NodeJS JSON [дубликат]
Отредактировал ответ. Теперь он работает для указанного выше объекта
Вы можете использовать следующую функцию для доступа к ключам JSON. Я специально вернул ключ "мм".
function jsonParser(stringValue) {
var string = JSON.stringify(stringValue);
var objectValue = JSON.parse(string);
return objectValue['mm'];
}
если это строка 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;
}
Если вы делаете это в оболочке mongodb или Robo3T, тогда строка кода будет такой:
db.collection_name.find({},{insertedId:1})
Это связано с
projection
.
1
означает, что вы хотите отобразить его в качестве вывода.
В вашем случае, поскольку вы хотите, чтобы отображалось только значение идентификатора вашего объекта, вы должны использовать; то есть
ObjectId().valueOf()
.
-> insertedId: new ObjectId("612d9d08db9c20f031033478")
-> ObjectId("612d9d08db9c20f031033478").valueOf()
->
-> 612d9d08db9c20f031033478
Вы можете сослаться на это: https://docs.mongodb.com/manual/reference/method/ObjectId.valueOf/ сайт для справки.
Итак, вы можете использовать это
.valueOf()
в вашем коде и получите
id
сохранено в документе