node.js - 如何在mongodb查询中使用变量作为字段值?

标签 node.js mongodb

如何使用search_key变量作为字段值而不是静态值 BRO

if(search_key!=''){

  dbo.collection("assets").aggregate([
    { 
      "$match": {  $and: [ { status: 1 }, { $or: [ { maker_name : /^.*BRO.*$/i }, { serial_number : /^.*BRO.*$/i  } ] } ] }
    },  
    {
      $lookup:
       {
         from: 'asset_type',
         localField: 'asset_type',
         foreignField: 'asset_type_id',
         as: 'asset_type_details'
       }
     }
    ]).sort({_id:-1}).toArray(function(err, result) {
    if (err) throw err;
    res.status(200).json({'return_data': result });
    db.close();
  });

}

最佳答案

试试这个方法

{ serial_number: { $regex: `${search_key}.*`, $options: 'i' } }

maker_name 也使用同样的东西。

这对我有用。

关于node.js - 如何在mongodb查询中使用变量作为字段值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53299976/

相关文章:

node.js - 处理大量记录会出现 OutOfMemoryException - Kafka REST 代理

node.js - Express 中 app.use() 和 router.use() 的区别

node.js - 是什么导致 web3js 测试代码中出现 MaxListenersExceededWarning 警告

node.js - GitHub Action 构建 firebase 应用程序失败 w9jds/firebase-action

javascript - 在 Express 中导入模块时无法识别 Mongo 模型

javascript - 如何在 Meteor 中使用按时间排序的两个不同模板显示两个不同的集合

javascript - 发出多个请求并将它们传递给模板(Express + Node.js + FB open graph)

linux - 启动停止守护进程 : failed to start `/usr/bin/mongod'

mongodb - 如何精确匹配整个文档?

MongoDB Capped Collection 不删除文档