我有一个商店,有些产品可以不发布-当看到前面他们是404。但是,如果url中给出“preview=1”,我想预览它们。我正在寻找一种优雅的,单行本的方式来插入到我的find函数中:

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) { }

关于node.js - Mongoose 有条件的发现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14025304/

10-10 23:57