猫鼬搜索数组子文档按年份

时间:2020-04-12 10:21:32

标签: node.js mongodb mongoose

我陷入了这种情况。因此person具有以下属性firstname,lastname,books [{date,name}]

其中books数组的日期为字符串日期。

i搜索那些在日期字段中有年份的书籍的人。我不确定要在代码中进行哪些调整才能使其正常工作。这本书的日期存储为字符串日期。

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.
});

有想法吗?

0 个答案:

没有答案