Я новичок в MongoDB и использую Mongoose для управления данными в MongoDB и обратно.У меня есть коллекция, имеющая структуру ниже:
var post= new Schema({
message: String,
created_by_user_id: mongoose.Schema.Types.ObjectId,
created_at: Date,
likes: [new Schema({liked_by_user_id: mongoose.Schema.Types.ObjectId})]
});
Ниже приведена коллекция с фиктивными документами:
[{
"_id": "5c0254c13a22f222ceb861ad",
"message": "from pppr",
"created_by_user_id": "5c0253e9a53bed2165c0625c",
"likes": [
{
"_id": "5c027a6fff5fcb5ab180e20c",
"liked_by_user_id": "5c0253e9a53bed2165c0625c"
},
{
"_id": "5c028e46abc09775c10d767b",
"liked_by_user_id": "5c0234c1d8832b6af3b4f4a6"
}
],
"created_at": "2018-12-01T09:30:41.943Z",
"__v": 0
},
{
"_id": "5c0254c13a22f222ceb861ad",
"message": "from pppr",
"created_by_user_id": "5c0253e9a53bed2165c0625c",
"likes": [
{
"_id": "5c027a6fff5fcb5ab180e20c",
"liked_by_user_id": "5c0253e9a53bed2165c0625c"
},
{
"_id": "5c028e46abc09775c10d767b",
"liked_by_user_id": "5c0234c1d8832b6af3b4f4a6"
}
],
"created_at": "2018-12-01T09:30:41.943Z",
"__v": 0
}]
Теперь я пытаюсь получить все документы вместе со статусом, который будет указыватьчто, понравился ли мне соответствующий пост или нет.В ответ я также отправляю свой идентификатор пользователя.
В принципе, на моей стене система должна показывать все сообщения, созданные мной или моими друзьями, а также дополнительный статус в каждом документе, который покажет, понравился ли мне соответствующий пост или нет.
Я сохраняю друзей пользователя в отдельной коллекции, называемой "userfriends".Структура этой коллекции приведена ниже:
var userfriends = new Schema({
user_id_1: mongoose.Schema.Types.ObjectId,
user_id_2: mongoose.Schema.Types.ObjectId,
created_at: Date
});
Я просто хочу получить все сообщения вместе с этим дополнительным полем.Таким образом, вы можете игнорировать коллекцию userfriends, это просто для того, чтобы направлять вас больше.
Может ли кто-нибудь помочь мне в этом?Каким будет запрос, который может удовлетворить мое требование?
Заранее спасибо