У меня есть коллекция mongodb со свойством date.Мне нужно найти некоторые объекты, у которых дата больше, чем буквенная строка даты .Я использую нативный драйвер для node.js.И я получаю дату в виде строки.Когда я пытаюсь это сделать, не работает:
db.myCollection.find({
'dateField': { $gte : "1974-11-18T02:00:00.000Z" }
}).count()
Это тоже не работает:
db.myCollection.find({
'dateField': { $gte : {$date: '1974-11-18T02:00:00.000Z'} }
}).count()
Но это работает:
db.myCollection.find({
'dateField: { $gte : ISODate("1974-11-18T02:00:00.000Z") }
}).count()
Как можноЯ запрашиваю mongodb по дате без использования функций Date () или ISODate ()?
Редактировать:
Я не могу использовать функцию, потому что в моем приложении nodejs у меня естьэтот объект:
let conditions = {}
conditions['dateField'] = "1974-11-18T02:00:00.000Z"
let rows = await db.collection('myCollection').aggregate([
{$match: conditions},
{$count: "total"}
]).toArray()
Поэтому я не могу передать "функцию" для объекта условий в $ match на mongodb, потому что это не работает:
conditions['dateField'] = new Date("1974-11-18T02:00:00.000Z")