Как я могу создать запрос монго, который возвращает поле _id как id и строковое.
Учитывая этот код
const _id = new ObjectId(id)
const event = await db.collection('events').findOne({ _id })
Как я могу произвести этот вывод
event = { id: 644289148310cef91729d97c, name: 'Event Name' }
Вместо текущего выхода
event = { id: ObjectId("644289148310cef91729d97c"), name: 'Event Name' }
Я хотел бы сделать это как часть запроса монго вместо того, чтобы перебирать возвращенные объекты в javascript.
Я использую библиотеку mongodb, а НЕ мангуст.
const event = await db.collection('events').findOne({ _id },{_id: 0, id:{$toString: "$_id"}})Кстати, в проекции драйвера nodejs это похоже на findOne({ _id },{projection:{_id:0,....}}) iirc



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это возможно с помощью projection и $toString.
const event = await db()
.collection('events')
.findOne(
{ _id },
{
projection: {
_id: 0,
id: {$toString: "$_id" },
name: 1,
}
}
)
Вы можете использовать проекцию
{ _id: 0, id: { $convert: { input: "$_id", to: "string"} }, event: 1 }, чтобы изменить вывод.