Я хочу создать чат-систему, а также получить последнее сообщение пользователя, которое может быть обработано. Я также предоставляю запрос с этим, но он возвращает пользователя userId. поэтому, пожалуйста, помогите мне, спасибоMongoDB aggregate Query with select fields
База данных:
/* 1 */
{
"_id" : ObjectId("56937df0418a6afab248616d"),
"to" : ObjectId("56728051d4b426be03de18f2"),
"from" : ObjectId("568e402eaecfa53282f60d17"),
"msg" : "Hello!",
"cd" : ISODate("2016-01-11T10:03:28.139Z"),
"type" : "other",
"ir" : 0
}
/* 2 */
{
"_id" : ObjectId("56937e01418a6afab248616e"),
"to" : ObjectId("568e402eaecfa53282f60d17"),
"from" : ObjectId("56728051d4b426be03de18f2"),
"msg" : "Hi!",
"cd" : ISODate("2016-01-11T10:03:45.588Z"),
"type" : "other",
"ir" : 0
}
/* 3 */
{
"_id" : ObjectId("56937e45418a6afab248616f"),
"to" : ObjectId("56728051d4b426be03de18f2"),
"from" : ObjectId("568e402eaecfa53282f60d17"),
"msg" : "Shu che ela!",
"cd" : ISODate("2016-01-11T10:04:53.280Z"),
"type" : "other",
"ir" : 0
}
Запрос:
db.getCollection('chat_message').aggregate([
{
$match: {
ir: 0,
$or : [
{"to" : ObjectId("56728051d4b426be03de18f2")}
]
}
},
{ $group: { _id: "$from" } },
])
I Выполнить этот запрос, но не получить результат, который я хочу
Требовать Out пришел:
/* 1 */
{
"result" : [
{
"_id" : ObjectId("568e402eaecfa53282f60d17"),
"msg" : "Shu che ela!"
}
],
"ok" : 1.0000000000000000
}
db.getCollection ('chat_message') совокупности ([ { $ матча: { л: 0, $ или: [{ "до": ObjectId ("56728051d4b426be03de18f2")} ] } }, { "$ группа": { "_ идентификатор": "$ от", "сообщение": { "$ последнего": "$ тзда"}}} ]) Я поставил этот вопрос, и я получил последнее сообщение как par i want. спасибо. –