У меня есть схема, которая выглядит следующим образомMongoose Aggregation соответствует массив ObjectIds
var Post = new mongoose.Schema({
author: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
},
created: {
type: Date,
Default: Date.now
})
У меня есть таблица пользователей, а также. У меня есть массив пользовательских идентификаторов и я пытаюсь найти пост таблицу на основе массива пользователя Идентификаторы
Для примера
var userIds = ["575e96652473d2ab0ac51c1e","575e96652473d2ab0ac51c1d"] .... and so on
Я хочу, чтобы вернуть все сообщения, созданные этими пользователями. И сообщения должны быть отсортированы по дате создания. Есть ли способ сгруппировать этот пост на основе предоставленных идентификаторов пользователей, в основном соответствуют сообщениям для отдельного пользователя?
В результате я пытаюсь достичь что-то вроде этого:
[{
userAId : "56656.....",
post : [postA, postB],
},{
userBId :"12345...",
post : [postA, postB]
}]
Как написать этот запрос?
Это то, что я до сих пор
Post.aggregate([{
// {"$unwind" : ""},
// "$group": {
// _id: "$author",
// "created" : {"$sum" : 1 }
// }
"$match" : { author : id}
}]).exec(function(error, data) {
if(error){
return console.log(error);
}else{
return console.log(data)
}
})
{
"_id" : ObjectId("575e95bc2473d2ab0ac51c1b"),
"lastMod" : ISODate("2016-06-13T11:15:08.950Z"),
"author" : ObjectId("575dac62ec13010678fe41cd"),
"created" : ISODate("2016-06-13T11:15:08.947Z"),
"type" : "photo",
"end" : null,
"commentCount" : 0,
"viewCount" : 0,
"likes" : 0,
"tags" : [],
"title" : "Today is a good day",
"__v" : 0
}
вы могли бы разместить полный почтовый документ из Монго? – profesor79
Вы имеете в виду опубликовать всю схему документа для публикации? – unwosu
db.post.findOne() в порядке - пожалуйста, удалите конфиденциальную информацию – profesor79