Пн goose поиск массив вложенных документов по годам - PullRequest
0 голосов
/ 12 апреля 2020

Я застрял с этим сценарием дела. Таким образом, человек имеет следующие свойства имя, фамилия, книги [{date, name}] *

, где дата массива книг - строковая дата.

я ищу людей, у которых есть книги у которого есть год в поле даты. Я не уверен, что нужно настроить в моем коде, чтобы сделать эту работу. дата книги хранится в виде строковой даты.

let name = '2019';
let or = [
    { 'firstname': { '$regex': name, '$options': 'i' } },
    { 'lastname': { '$regex': name, '$options': 'i' } },
];

if (!isNaN(name)) {
    let date = new Date(name);
    or.push({ 'books.date': { "$gt": date, "$lt": date } });
}

Person.aggregate().match(
    {
       '$or': or
    }
).project({
    _id: 0,
    id: '$_id',
    firstname: 1,
    lastname: 1,
}).sort({ lastname: 1, firstname: 1 }).exec(function(err, persons) {
// do code.
});

мысли?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...