【发布时间】:2017-04-19 07:20:03
【问题描述】:
我试图通过查询获得我找到正则表达式的字段,例如:
如果我在 facebook 字段中找到结果;
假设我的 req.body.key = 'crazy' 并且在我的数据库中,我在 facebook 字段中有 'crazy'。作为查询的结果,我想要我的 CitizenProfile 模型更多的字段或我找到结果的字段。在这种情况下,字段名称 'facebook'
Obs:这个查询已经给出了模型,我只需要它找到与正则表达式匹配的一个或多个字段名称。 这可以实现吗?谢谢!
app.post('/v1/profile/search', (req, res) => {
async.waterfall([
function (next) {
CitizenProfile.find({
$or: [{'first_name': {$regex: req.body.key, $options:'i'}}, {'middle_name': {$regex: req.body.key, $options:'i'}},
{'last_name': {$regex: req.body.key, $options:'i'}}, {'email': {$regex: req.body.key, $options:'i'}},
{'facebook': {$regex: req.body.key, $options:'i'}}, {'linkedin': {$regex: req.body.key, $options:'i'}},
{'skills': {$regex: req.body.key, $options:'i'}}],
'id_citizen': {$ne: req.body.id_citizen},
'is_hidden': {$ne: true}
})
.exec(function (err, data) {
...
【问题讨论】:
标签: javascript mongodb mongoose mongodb-query