Model.find()
.where('type', one)
.where('published', two)
.where('nation', three)
.sort({'field': -1})
.exec(callback)
one, two, three 有可能是 0, 代表搜索全部, 其值由前端传入, 但是数据库中每个字段由 1 开始, 我想要类似的效果
Model.find()
if (one != 0) {
.where('type', one)
}
if (two != 0) {
if (two != -1) {
.where('published', two)
} else {
.where('published').lte(2010)
}
}
if (three != 0) {
.where('nation', three)
}
.sort({'field': -1})
.exec(callback)
这样的结果在 mongoodse 该如何实现
1
cdxem713 2015-10-24 19:32:22 +08:00 via iPhone
你自己构造一个 object,自己组条件不就好了么
var query = {} (one !=0) && (query['type']=one); ...... Model.find(query).sort(...).exec... |