Node.js 在MongoDB中搜索数组匹配项
我在Mongo DB中有这样一个模式: 主要内容: 我的自定义架构如下所示:Node.js 在MongoDB中搜索数组匹配项,node.js,mongodb,mongodb-query,database,Node.js,Mongodb,Mongodb Query,Database,我在Mongo DB中有这样一个模式: 主要内容: 我的自定义架构如下所示: var custom_schema = new mongoose.Schema({ my_string:{type:String, default: '' }, somefield: { // } }); app.db.model('Custom', custom_Schema); 我需要从数据库中检索所有记录,这些记录的自定义\u
var custom_schema = new mongoose.Schema({
my_string:{type:String, default: '' },
somefield: {
//
}
});
app.db.model('Custom', custom_Schema);
我需要从数据库中检索所有记录,这些记录的自定义\u架构包含字符串my\u string中的特定字符串
我现在正在这样做:
var filters = {};
filters.somefield=new RegExp('^.*?'+city+'.*$', 'i');
req.app.db.models.Main.pagedFind({
filters: filters,
keys: 'mykeys',
limit: 1000,
page: 1,
sort: '_by something'
}, function(err, results) {
if (err) {
return next(err);
}
});
如何添加过滤器来搜索自定义模式数组中的特定字符串?要在mongodb中搜索内部对象,需要使用与常规对象
object.var
中相同的指令,因此过滤器应该类似于过滤器['custom\u Schema.somefield']=…
那么您的变量my_数组
包含字符串?这有点让人困惑
var filters = {};
filters.somefield=new RegExp('^.*?'+city+'.*$', 'i');
req.app.db.models.Main.pagedFind({
filters: filters,
keys: 'mykeys',
limit: 1000,
page: 1,
sort: '_by something'
}, function(err, results) {
if (err) {
return next(err);
}
});