Я пытаюсь заполнить свое пользовательское поле с помощью $ lookup, и вот мой результат:
[
{
...
user: [],
...
}
]
Как видите, результат представляет собой массив, а пользовательское поле также является пустым массивом, также я хочу сделать запрос, который сравнивает несколько полей. Допустим, у меня есть этот объект:
{
social: {
facebook: 'facebook.com/asd',
twitter: 'https://twitter.com/'
},
skills: [ 'asd', 'asd', 'html' ],
_id: 5eec9c9a2d6d1d46e8b05fb4,
user: {
_id: 5eec9c752d6d1d46e8b05fb3,
name: 'Simeon Lazarov',
avatar: 'uploads\\1592682240020 - background.jpg'
},
status: 'Junior Developer',
experience: [
{
current: true,
_id: 5eef06638af42217d8c5480a,
title: 'ASD',
company: 'SAD',
location: 'ASD',
from: 2020-06-08T00:00:00.000Z,
to: null
}
],
education: [
{
current: true,
_id: 5eef5f0dd06ee324a4a7b1d2,
school: 'asd',
degree: 'asd',
fieldofstudy: 'asd',
from: 2020-06-24T00:00:00.000Z,
to: null
}],
contacts: [ { _id: 5eee23bd862ab70ba0235a85, user: 5eedffa6062e6231a859433a } ],
date: 2020-06-19T11:08:10.883Z,
__v: 1,
website: 'asd',
company: 'asd'
}
И я хочу сравнить, если компания, навыки (все навыки этого объекта должны содержаться в других объектах) или et c. равны.
Вот мой НЕ рабочий код:
await Profile.aggregate([{$lookup: {from:"user",localField: "user",
foreignField: "name", as: "user"}},{$match :{$or:[{"company":{$regex:profile.company}},{"skills":{ $eq: profile.skills} }]}}]).skip((req.params.page - 1) * 10).limit(11);
PS Извините, что так плохо написал, это мой первый вопрос.