Mongoose在Sub文档中查找数据

时间:2017-04-04 16:11:39

标签: node.js mongodb express mongoose

我有这个模型

//user notif schema

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var UserNotifSchema = new mongoose.Schema({
    NotifType       : {type : Number}, 
    NotifData       : {
        User_source_id  : {type : Schema.Types.ObjectId, ref : 'User'}, // for course, forking
        Course_id       : {type : Schema.Types.ObjectId, ref : 'Course'}, // for course
        UserFile_id     : {type : Schema.Types.ObjectId, ref : 'UserFile'} // for forking
    },
    NotifTarget : [
        {type : Schema.Types.ObjectId, ref : 'User'}
    ],
    Created_at      : {type : Date, required : true, default : Date.now},
});


var UserNotif = mongoose.model('UserNotif', UserNotifSchema);
module.exports = UserNotif;

我创建了一个包含NotifTarget用户通知的模型。我希望得到一些特定用户的通知并像这样做

var user_id = req.session.userLogin.UserId;

    NotifModel.find({'NotifTarget' : user_id})
                .populate('NotifTarget')
                .exec(function(err, doc){
                    if (err){
                        res.send(err);
                    }
                    else{
                        res.send(doc);
                    }
                })

如果user_id中只有一个数组NotifTarget,但在NotifTarget中提供多个数据时返回空数组,则可以。对此有什么解决方案吗?

0 个答案:

没有答案