Pet*_*chP 86 javascript find mongoose mongodb node.js
我喜欢通过查找名为value的用户在mongoDb中找到用户.问题:
username: 'peter'
Run Code Online (Sandbox Code Playgroud)
如果用户名是"彼得",或"彼得"......或类似的东西,我不会找到它.
所以我想像sql一样
SELECT * FROM users WHERE username LIKE 'peter'
Run Code Online (Sandbox Code Playgroud)
希望你们得到我要求的东西?
简短:mongoose.js/mongodb中的"字段LIKE值"
Pet*_*chP 141
好.对于那些正在寻找答案的人来说,我就是这样做的
var name = 'Peter';
model.findOne({name: new RegExp('^'+name+'$', "i")}, function(err, doc) {
//Do your action here..
});
Run Code Online (Sandbox Code Playgroud)
Don*_*pez 70
我最近遇到了这个问题,我使用这个代码并且对我来说很好.
var data = 'Peter';
db.User.find({'name' : new RegExp(data, 'i')}, function(err, docs){
cb(docs);
});
Run Code Online (Sandbox Code Playgroud)
直接使用/Peter/i工作,但我使用,'/'+data+'/i'而不是为我工作.
小智 25
db.users.find( { 'username' : { '$regex' : req.body.keyWord, '$options' : 'i' } } )
Run Code Online (Sandbox Code Playgroud)
Ray*_*nos 14
collection.findOne({
username: /peter/i
}, function (err, user) {
assert(/peter/i.test(user.username))
})
Run Code Online (Sandbox Code Playgroud)
Ser*_*sev 13
你应该使用正则表达式.
db.users.find({name: /peter/i});
Run Code Online (Sandbox Code Playgroud)
但是要小心,这个查询不使用索引.
vic*_*chi 13
router.route('/product/name/:name')
.get(function(req, res) {
var regex = new RegExp(req.params.name, "i")
, query = { description: regex };
Product.find(query, function(err, products) {
if (err) {
res.json(err);
}
res.json(products);
});
});
Run Code Online (Sandbox Code Playgroud)
猫鼬文档查找。正则表达式的mongodb doc。
var Person = mongoose.model('Person', yourSchema);
// find each person with a name contains 'Ghost'
Person.findOne({ "name" : { $regex: /Ghost/, $options: 'i' } },
function (err, person) {
if (err) return handleError(err);
console.log('%s %s is a %s.', person.name.first, person.name.last, person.occupation);
});
Run Code Online (Sandbox Code Playgroud)
请注意,我们传递给mongoose.findOne函数的第一个参数:{ "name" : { $regex: /Ghost/, $options: 'i' } },"name"是要搜索的文档的字段,"Ghost"是正则表达式,"i"不区分大小写。希望这会帮助你。
以下查询将查找具有所需字符串不区分大小写的文档以及具有全局匹配项的文档
var name = 'Peter';
db.User.find({name:{
$regex: new RegExp(name, "ig")
}
},function(err, doc) {
//Your code here...
});
Run Code Online (Sandbox Code Playgroud)
小智 6
这就是我正在使用的.
module.exports.getBookByName = function(name,callback){
var query = {
name: {$regex : name}
}
User.find(query,callback);
}
Run Code Online (Sandbox Code Playgroud)
这里我的代码用expressJS:
router.route('/wordslike/:word')
.get(function(request, response) {
var word = request.params.word;
Word.find({'sentence' : new RegExp(word, 'i')}, function(err, words){
if (err) {response.send(err);}
response.json(words);
});
});
Run Code Online (Sandbox Code Playgroud)