我想用SQL查询一些东西,比如查询:

SELECT * FROM users  WHERE name LIKE '%m%'

如何在MongoDB中实现这一点?我在文档中找不到这样的操作员。


当前回答

对于Node.js中的Mongoose:

db.users.find({'name': {'$regex': '.*sometext.*'}})

其他回答

In

使用Python的PyMongoMongoose使用Node.jsJongo,使用Javamgo,使用Go

您可以执行以下操作:

db.users.find({'name': {'$regex': 'sometext'}})
>> db.car.distinct('name')
[ "honda", "tat", "tata", "tata3" ]

>> db.car.find({"name":/. *ta.* /})

在Node.js项目中,使用Mongoose,使用类似的查询:

var User = mongoose.model('User');

var searchQuery = {};
searchQuery.email = req.query.email;
searchQuery.name = {$regex: req.query.name, $options: 'i'};
User.find(searchQuery, function(error, user) {
                if(error || user === null) {
                    return res.status(500).send(error);
                }
                return res.status(200).send(user);
            });

对于Node.js中的Mongoose:

db.users.find({'name': {'$regex': '.*sometext.*'}})

以下是使用“从”范例的命令:

db.customer.find({"customer_name" : { $regex : /^startswith/ }})