如何在猫鼬上使用“LIKE”运算符?

新手上路,请多包涵

当我使用 mongoose 进行查询时遇到问题。我按照 Mongoose.js 进行编码:按用户名 LIKE 值查找用户。但它返回空白。

这是我的代码返回空白。

  var promise = UserSchema.find({name: /req.params.keyword/ }).limit(5);

我试过这个返回空白似乎。

var n = john; var promise = UserSchema.find({name: /n/ }).limit(5);

但我试过这是有效的

 var promise = UserSchema.find({name: /john/ }).limit(5);

为什么我使用变量然后返回空白?

原文由 devnext 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 633
2 个回答

在mongodb中使用 $regex

如何使用正则表达式

例子

select * from table where abc like %v%

在蒙戈

 var colName="v";
 models.customer.find({ "abc": { $regex: '.*' + colName + '.*' } },
   function(err,data){
         console.log('data',data);
  });

您的查询看起来像

var name="john";
UserSchema.find({name: { $regex: '.*' + name + '.*' } }).limit(5);

原文由 kumbhani bhavesh 发布,翻译遵循 CC BY-SA 3.0 许可协议

或者只是简单地

const name = "John"
UserSchema.find({name: {$regex: name, $options: 'i'}}).limit(5);

i 不区分大小写

原文由 Nux 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题