MongoDB мин запрос - PullRequest
       0

MongoDB мин запрос

0 голосов
/ 13 февраля 2019

Я бьюсь с минимальным запросом в MongoDB.Возможно, это неправильный способ получения ожидаемого результата, но, пожалуйста, помогите мне, что я делаю неправильно.

Давайте предположим, что у нас есть такие данные:

{ "version": 1, "id": "123-456", "type":"ChangeEvent", "data":"aaa" }
{ "version": 1, "id": "789-987", "type":"ChangeEvent", "data":"aaa" }
{ "version": 2, "id": "123-456", "type":"ChangeEvent", "data":"aaa" }
{ "version": 2, "id": "789-987", "type":"ChangeEvent", "data":"aaa" }
{ "version": 3, "id": "123-456", "type":"AnotherEvent", "data":"aaa" }
{ "version": 4, "id": "123-456", "type":"ChangeEvent", "data":"aaa" }
{ "version": 5, "id": "123-456", "type":"ChangeEvent", "data":"aaa" }
{ "version": 6, "id": "123-456", "type":"ChangeEvent", "data":"aaa" }
{ "version": 7, "id": "123-456", "type":"AnotherEvent", "data":"aaa" }
{ "version": 8, "id": "123-456", "type":"ChangeEvent", "data":"aaa" }
{ "version": 3, "id": "789-987", "type":"ChangeEvent", "data":"aaa" }
{ "version": 9, "id": "123-456", "type":"ChangeEvent", "data":"aaa" }

Итак, у меня есть дваразные идентификаторы и два разных типа.То, что мне нужно получить, это только id "123-456" данные из последних "AnotherEvent", включая.

Это означало бы,

{ "version": 7, "id": "123-456", "type":"AnotherEvent", "data":"aaa" }
{ "version": 8, "id": "123-456", "type":"ChangeEvent", "data":"aaa" }
{ "version": 9, "id": "123-456", "type":"ChangeEvent", "data":"aaa" }

Я думал, что использование минимального курсора поможет мне, конкретно этоquery:

db.data.find({id: '123-456'}).max( { id: '123-456', type: 'AnotherEvent' } ).hint( { id: 1, type: 1 }).pretty()

Возможно ли это событие выполнить непосредственно на стороне Mongo посредством запроса?

Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...