我在使用mongoose 进行查询时遇到了一个问题.我遵循这个Mongoose.js: Find user by username LIKE value.但它返回空白.

这是我的代码返回空白.

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

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

推荐答案

在mongodb中使用$regex

how to use regex

实例

select * from table where abc like %v%

在Mongo

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

Your query look like

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

Mongodb相关问答推荐

在MongoDB中使用explain()和查询时缺少winningPlan''''

在MondoDB中:将对象数组从切片索引数组切片,并通过聚合推入数组

如何联接Mongoose中的集合并检索特定字段

如何用Python和MongoDB找到单据字段的最大值?

根据参考图计算子文档列表的最大值

Mongo查找条件:不存在

减法聚合Mongo文档Golang

MongoDB查询优化

在延迟函数中重用 context.WithTimeout

如何更新mongo中列表最后一个对象的属性

Mongodb聚合中基于其他字段值的多个条件的动态新字段值

以聚合顺序使用 $$ROOT

MongoDB PHP UTF-8 问题

删除一对一和一对多引用 - Mongoose

mongodump 是否锁定数据库?

无法将 $match 运算符用于带有 ObjectId 的 mongodb/mongoose 聚合

MongoDB + Node JS + 基于角色的访问控制 (RBAC)

更新时提示Field name duplication not allowed with modifiers

MongoDb 聚合 $match 错误:Arguments must be aggregate pipeline operators

如何在 golang 和 mongodb 中通过 id 查找