猫鼬中的deep find()查询

时间:2019-02-17 21:31:38

标签: node.js mongodb express mongoose

所以我的架构看起来像这样

var PagesSchema = new mongoose.Schema({
        citiesList:{
            country:String,
            city:String
        }
});

我想访问我的路线中的cityList,所以我尝试了

app.get("/", function(req,res){


    Pages.find({"citiesList"}, function(err,citiesList){
    if(err){
        console.log(err);
    }else{
        res.render('landing',{citiesList:citiesList});
    }
});
});

但是它没有任何建议吗?

1 个答案:

答案 0 :(得分:1)

该查询正在搜索任何看起来像{citiesList: "citiesList"}的文档。如果要 all “ citiesList”,则可以改用{}查找所有文档,并使用投影将其限制在citiesList字段中:Pages.find({}, "citiesList", cb) < / p>

https://mongoosejs.com/docs/api.html#model_Model.find

如果相反,您只希望格式化列表中的那些子文档,则可以使用aggregation来处理它们