猫鼬在查询后进行查找?

时间:2018-09-04 16:38:13

标签: javascript node.js mongoose

我正在尝试查询选择项,当输入4个字母的客户名称中有匹配项时进行搜索,问题是我必须进行查找并填充以查看客户是否在代理商内,然后我用搜索到的字词进行查找,但似乎不起作用。

 router.get('/search', async (req, res, next) => {
        const query = {};
        query['value.name'] = {$regex: '.*' + req.query.q + '.*', $options: 'i'};
        query['value.deleted'] = false;
        let clients = null;
        try {
            const header = req.get('Authorization');
            const token = split(header, /\s+/).pop();
            const data = jwt.verify(token, sessionSecret);
            clients = await model.Agency.findOne({'auctioneers.value': new ObjectId(data.id)}, 'clients').sort('-createdAt').populate('clients.value', '-password').find({
                    '$and': [query]
                }).exec();         
            console.log(clients);
            res.send(clients);
        } catch (err) {
            next(err);
        }
    });
    return router;
};

逻辑是:首先,我执行一个findOne来查看用户是否被该代理机构所吸引,然后该代理机构拥有一系列客户,然后填充它们,之后,我需要用从中获得的搜索字词对它们进行过滤查询,现在控制台日志正在

{ clients: [ { value: [Object] } ],
  _id: 5b8ea80a7eae100020b89898 }

我该如何尝试?

0 个答案:

没有答案