Я думаю, проблема в том, как вы указываете даты.
Во-первых, я не думаю, что new Date(....)
должно быть в кавычках (будет рассматриваться как строковый литерал, а не как дата?).
Во-вторых, похоже, что новый Date(Y,M,D)
не может быть использован здесь для указания даты - это дает мне следующую ошибку:
Утверждение: 10340: Ошибка разбора строки JSON рядом...
Я думаю, что вместо этого вам нужно указать дату численно.напримерnew Date(1234567890)
Так что все это будет примерно так:
mongoexport -d project -c coll --csv -o result -f source -q '{"date":{"$gte":new Date(x)","$lt":new Date(y)}}'
где x = числовое представление вашей начальной даты, а y = конечная дата.Кроме того, добавлен отсутствующий «$» для «lt», как уже указывалось.
Обновление: Re: как найти числовое представление.Пришлось немного поиграть в оболочке монго, как относительно новичок в этом сам.Вот пример того, что я сделал оболочку Монго, чтобы получить номер (например, для 25-февр .:
> new Date(2009,1,25) * 1
, который дает:
1235520000000
Снова в оболочке, если вы затем выполните:
> new Date(1235520000000)
Это подтвердит, что это правильная дата:
ISODate("2009-02-25T00:00:00Z")