首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.populate()不工作

.populate()不工作
EN

Stack Overflow用户
提问于 2017-07-31 08:42:29
回答 1查看 355关注 0票数 0

我已经为此工作了几个小时,也找不到解决方案。

我正在制作一个学校目录,使用的是

学生模型:

代码语言:javascript
复制
var mongoose = require("mongoose");


var studentSchema = new mongoose.Schema(
    {
        name: String,
        courses: [
            {
                type: mongoose.Schema.Types.ObjectId,
                ref:  "Course"
            }
        ]
    });

module.exports = mongoose.model("Student", studentSchema);

还有一个课程模型。

var mongoose = require("mongoose");

代码语言:javascript
复制
var courseSchema = new mongoose.Schema (
    {
        name: String,
        student: [
            {
                id: 
                {
                    type: mongoose.Schema.Types.ObjectId,
                    ref: "Student"
                },
                name: String
            }
        ]
    }
);

module.exports = mongoose.model("Course", courseSchema);

当我在一个找到的学生身上运行.populate ...它不会填充学生中的课程值...

代码语言:javascript
复制
app.get("/students/:id", function(req, res){
    Student.findById(req.params.id).populate("courses").exec(function(err, foundStudent){
        if(err){
            console.log(err);
        } else {
            console.log(foundStudent);
            res.render("students/show", {student: foundStudent});
        }
    });
});

console.log(foundStudent)将显示...

代码语言:javascript
复制
{ _id: 597e7a49c945ee13529d0871,
  name: 'Collin DeSoto',
  __v: 1,
  courses: [ { _id: 597e7a4dc945ee13529d0872 } ] }

在填充之后..有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2017-07-31 12:56:40

试试这条路

代码语言:javascript
复制
User.find(match, function (err, users) {
 var opts = [{ path: 'company', match: { x: 1 }, select: 'name' }]

  var promise = User.populate(users, opts);
  promise.then(console.log).end();
})

并在此链接link之前

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45406103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档