javascript - Wie verwende ich Mungo Joint Query Populate?
迷茫
迷茫 2017-06-26 10:50:40
0
1
643

Wenn Sie Node zum Üben von Blogging-Projekten verwenden, müssen Artikel mit Benutzern, Kategorien und Kommentarsammlungen verknüpft werden. Daher habe ich die Popule-Abfrage von mongoose verwendet, sie konnte jedoch nicht die gewünschten Daten zurückgeben. Der Code lautet wie folgt:

Artikel speichern:

    // 拿到session中的用户信息
    let authorObj = {author: ObjectId(req.session.userInfo.userID)};
    let cateObj = {category: ObjectId(req.body.category)};
    // 增加到数据中
    postData = Object.assign(req.body,authorObj,cateObj);
    // 添加新数据
    postModel.create(postData)
        .then((result)=>{
            if(!result){
                reMessage.msg='文章保存错误';
                reMessage.code=2003;
                res.send(reMessage);
                return;
            }
            reMessage.msg='文章发表成功';
            reMessage.code=0;
            res.send(reMessage);
        });

Rückgabedaten:

postModel.find({})
        .populate({path:'users',select:'username'})
        .then((data)=>{
            console.log(data);
            res.render('admin/posts-list',{
                login:req.session.login,
                userInfo:req.session.userInfo,
                fields:['标题','作者','分类','发表时间'],
                datas:data
            });
        });
        
        
        

Der spezifische Code ist wie oben, warum funktioniert er nicht?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

Antworte allen(1)
曾经蜡笔没有小新

已解决,是创建Schema的字段ref引用错误,应该引用userModel = db.model('user',suerSchema)的第一个参数,而不是userModel

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage