Node.js 猫鼬条件查找
我有一个商店,一些产品可以不发布-当在前面看他们是404。但是,如果url中给出了“preview=1”,我想预览它们。我正在寻找一种优雅的单行程序方式,以将其插入我的查找函数:Node.js 猫鼬条件查找,node.js,mongoose,Node.js,Mongoose,我有一个商店,一些产品可以不发布-当在前面看他们是404。但是,如果url中给出了“preview=1”,我想预览它们。我正在寻找一种优雅的单行程序方式,以将其插入我的查找函数: var preview = req.param('preview'); Product.findOne({ _id: req.params.id, publish: TRUE_OR_ANY_IF_PREVIEW_SET)}).populate('categories').exec(function(err, produ
var preview = req.param('preview');
Product.findOne({ _id: req.params.id, publish: TRUE_OR_ANY_IF_PREVIEW_SET)}).populate('categories').exec(function(err, product) { }
这不是一个简单的方法,但这里有一个典型的方法:
var query = {_id: req.params.id};
if (!preview) {
query.publish: true
}
Product.findOne(query).populate('categories').exec(function(err, product) { }
这是行不通的-问题是如果设置了预览,那么它必须同时允许true或false,所以。。。请求参数(“预览”)?真:真与假
Product.findOne({
_id: req.param('id')
publish: req.param('preview') ? true: false
}).populate('categories').exec(function(err, product) { });