2017-01-09 21 views
1

После нескольких недель усилий у меня все еще возникает проблема с запросом поля даты movie_datetime, у которого есть структура ниже из Mlab с помощью NodeJS.Не удалось запросить дату у MongoDB (Mlab) - так просто, но не может быть решительно

"movie_datetime": { 
     "$date": "2017-01-03T16:00:00.000Z" 
}, 
"session_id": 31268 

enter image description here

Я попытался следующие

db.mycollection.find({ 
    "movie_datetime" : {"gte" : { "$date" : "2013-10-01T00:00:00.000Z"}} 
}) 

db.mycollection.find({ 
    "movie_datetime" : {"$gte": new Date("2013-10-01T00:00:00.000Z")} 
}) 

db.mycollection.find({ 
    "movie_datetime" : {"$gte": Date("2013-10-01T00:00:00.000Z")} 
}) 

db.mycollection.find({ 
    "movie_datetime" : {"$gte": ISODate("2013-10-01T00:00:00.000Z")} 
}) 

Цените любую помощь.

Текущие nodeJS коды:

** Пробовали вариация одиночных кавычек и парные кавычки и опуская .toISOString

var dateTime = '{"movie_datetime":{"$gte" : "'+new Date("2017-01-03T16:00:00.000Z").toISOString()+'"}}'; 

var dateTimeJson =JSON.parse(dateTimeVar); 

db.mycollection.find(dateTimeJson); 


Result for print dateTime 
{"movie_datetime":{"$gte" : "2017-01-03T16:00:00.000Z"}} 

Result for print dateTimeJson 
{ movie_datetime: { '$gte': '2017-01-03T16:00:00.000Z' } } 

Узел версия 6.6.0

+0

Вы уверены, что вы вставили документ с '$ date' как ключ ? –

+0

Ключ movie_datetime, в то время как $ date автоматически генерируется mongoDB, когда мой скребок вставляет документы. – Yang

+0

Можете ли вы показать, как именно ваш документ хранится в mongodb? –

ответ

0

Я думаю, это должно сделать это.

db.myCollection.find({ 
    'movie_datetime.$date': { 
    '$gte': new Date('2013-10-01T00:00:00.000Z') 
    } 
}); 

Редактировать - Фотография, которую вы опубликовали, и предоставленный вами JSON отличаются. Для картины было бы -

db.myCollection.find({ 
    'date.$date': { 
    '$gte': new Date('2013-10-01T00:00:00.000Z') 
    } 
}); 
+0

db.myCollection.find ({"movie_datetime. $ Date": {"$ gte": "новая дата (2017-01-03T16: 00: 00.000Z)"} }); Вышеприведенный запрос не работает. Синтаксис именно то, что я написал в NodeJs. – Yang

+0

Картинка, которую я опубликовал, - это еще один документ (обновленный справа). Это не проблема с именами полей. – Yang

0

Проверить docs

Дата вводится в формате, указанном ниже

{"myDate": {"$date": "2010-07-20T23:23:50Z"}} 

 Смежные вопросы

  • Нет связанных вопросов^_^