У меня есть коллекция документов, каждый из которых имеет два вложенных документа с использованием конвейера с $ lookup, и мне нужно найти ключевое слово с двумя полями в первом вложенном документе (у него также есть вложенные документы), а также выполнить поиск по одному имени поля в второй поддокумент Если какое-либо ключевое слово соответствует, документ должен быть возвращен. Мне нужно обойтись без $ раскрутки. Пожалуйста, помогите
Например,
db.maincollection. aggregate([
{ $lookup : {
from : "collection1",
let : { "foreignkey" : "$_id"},
pipeline : [{
$match : { $expr : { $eq : ["key", "$$foreignkey]}}}],
as : "subdocument1"
}}, {$ lookup: {from: "collection2", let: {"foreignkey": "$ _anotherfield"}, конвейер: [ {$ match: {$ expr: {$ eq: ["key", "$$ foreignkey]}}}] as:" subdocument2 "])}}
subdocument1 содержит два поля, например title и comment. Subdocument2 содержит first_name и last_name. Регулярное выражение должно применяться к этим полям. Основной документ должен быть возвращен, если любой из них соответствует ключевому слову.