Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.12.2013, 09:59
Новичок на форуме
Отправить личное сообщение для qspider Посмотреть профиль Найти все сообщения от qspider
 
Регистрация: 02.12.2013
Сообщений: 4

Версионность данных в MongoDB
Здравствуйте!

Реализовал версионность данных в Mongo. Вот как это выглядит:
{ "_id" : ObjectId("5298267c5248490b026d3c8a"), "id" : 1, "uid" : 1, "name" : "Test 1" }
{ "_id" : ObjectId("529826855248490b026d3c8b"), "id" : 2, "uid" : 2, "name" : "Test 2" }
{ "_id" : ObjectId("529826b15248490b026d3c8d"), "id" : 3, "uid" : 2, "name" : "Test 2.1" }
{ "_id" : ObjectId("529834b45248490b026d3c8f"), "id" : 4, "uid" : 2, "name" : "Test 2.2" }
{ "_id" : ObjectId("529834c05248490b026d3c90"), "id" : 5, "uid" : 3, "name" : "Test 3" }
{ "_id" : ObjectId("529834c85248490b026d3c91"), "id" : 6, "uid" : 3, "name" : "Test 3.1" }
{ "_id" : ObjectId("529834d35248490b026d3c92"), "id" : 7, "uid" : 3, "name" : "Test 3.2" }

Т.е. есть uid некоторых данных (документов). При редактировании данных (документа с заданным uid) происходит запись нового документа в базу с заданным uid. В результате в коллекции несколько записей с одним и тем же uid (самая свежая с максимальным id). id уникален в рамках всей коллекции, а uid только для документа.

Теперь попытался написать запрос для получения всех документов с последней редакцией (т.е. с максимальным значением id).

Вот запрос: db.test.aggregate({$group : {_id:"$uid", "id":{$last:"$id"}}})
Результат запроса:
{"result" : [
{"_id" : 3,"id" : 7},
{"_id" : 2,"id" : 4},
{"_id" : 1,"id" : 1}
],"ok" : 1}

Здесь получаю список id документов (1,4 и 7). Теперь зная эти id могу получить сами документы.

А как написать запрос, чтобы сразу получить:
{ "_id" : ObjectId("5298267c5248490b026d3c8a"), "id" : 1, "uid" : 1, "name" : "Test 1" }
{ "_id" : ObjectId("529834b45248490b026d3c8f"), "id" : 4, "uid" : 2, "name" : "Test 2.2" }
{ "_id" : ObjectId("529834d35248490b026d3c92"), "id" : 7, "uid" : 3, "name" : "Test 3.2" }

Как написать такой запрос?

СПАСИБО!!!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не понимаю JavaScript. Как сделать ожидание события загрузки данных? xintrea AJAX и COMET 7 01.06.2013 17:18
Проблемма с отправкой данных на сервер deng22 jQuery 2 03.06.2012 14:40
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 13:00
Изменение окраски строк таблицы, исходя из данных? Space-06 Events/DOM/Window 4 14.02.2012 21:32
Синхронный запрос данных по AJAX Shasoft AJAX и COMET 2 03.03.2009 14:07