Я новичок в MongoDB, но у меня, похоже, есть тривиальная проблема с Mongolab, которую я использую из Heroku.Не удается вернуть последние документы от MongoDB
Если я вставляю новый документ, я не получаю никаких ошибок. Однако MongoDB Mongolab, похоже, не возвращает никаких документов после определенного документа. Также не последний документ, который я вставляю.
Вот пример; Я вставляю новый документ и запрашиваю последний. Это должно быть то же самое, верно. Но это не так.
rs-ds027491:PRIMARY> db.measurements.insert({"temperature":"24.687","timestamp":"Sat, 24 Jan 2015 16:00:02 -0000","epoch_timestamp":1422108002})
WriteResult({ "nInserted" : 1 })
rs-ds027491:PRIMARY> db.measurements.find().limit(1).sort({$natural:-1})
{ "_id" : ObjectId("54c37fe687db950c001d04f4"), "temperature" : "24.75", "timestamp" : "Sat, 24 Jan 2015 13:20:02 -0000", "epoch_timestamp" : 1422098402 }
Я также пытался перебирать все документы (как из командной строки и с помощью Robomongo я получаю тот же результат в обоих.):
db.measurements.find({})
... after some 'it's...
{ "_id" : ObjectId("54c37eba87db950c001d04f3"), "temperature" : "24.75", "timestamp" : "Sat, 24 Jan 2015 13:15:02 -0000", "epoch_timestamp" : 1422098102 }
{ "_id" : ObjectId("54c37fe687db950c001d04f4"), "temperature" : "24.75", "timestamp" : "Sat, 24 Jan 2015 13:20:02 -0000", "epoch_timestamp" : 1422098402 }
Как вы можете видеть последний документ является один запрос выше также вернулся, а не последний документ, который я вставил.
Есть ли что-то для Монго или Монголаба, которое я не понимаю, или если эта работа - но это почему-то не так?
Это объясняет это. Ваш подход к отслеживанию времени как индекса имеет смысл. Благодаря! –