Как найти документ по его идентификатору (ID) в MongoDB?
@kieran.bradtke
Чтобы найти документ по его идентификатору (ID) в MongoDB, необходимо использовать метод find с аргументом { _id: ObjectId("ID") }. Здесь "ID" - это строка, содержащая значение идентификатора документа.
Пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// Предположим, что идентификатор документа, который мы ищем, равен "60ef2d8b0b783b8d618ef8fc"
const MongoClient = require('mongodb').MongoClient;
const ObjectId = require('mongodb').ObjectId;
const uri = "mongodb+srv://<username>:<password>@<cluster>/<database>?retryWrites=true&w=majority";
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
client.connect(err => {
const collection = client.db("mydb").collection("mycollection");
// Ищем документ по его идентификатору
const id = ObjectId("60ef2d8b0b783b8d618ef8fc");
const query = { _id: id };
collection.find(query).toArray(function(err, result) {
if (err) throw err;
console.log(result);
client.close();
});
});
|
Здесь мы используем метод ObjectId для приведения строки-идентификатора к объекту ObjectId. Затем мы создаем запрос с условием поиска по _id и передаем его в метод find. В результате мы получим массив объектов, содержащих информацию о документе с заданным идентификатором. Если документ не найден, результат будет пустым массивом.