我想过滤用户在MongoDB db中读取的所有消息:
控制器
var filter = {
$and:[
{
conversation:req.conversation.id
},
{
$not:
{
readers:
{
$elemMatch:
{
user:req.user.id
}
}
}
}
]
};
Message
.find(filter)
.exec(function(err,messages){
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
console.log(messages);
res.jsonp(true);
}
});
messages
- > undefined
err
- > Error {name: 'MongoError'}
滤镜变量:
我不理解错误,我想也许我错误地使用了过滤器... 我的代码中有什么不对?
非常感谢!!我在下面分享消息谢谢:
消息shema
var MessageSchema = new Schema({
conversation:{
type: Schema.ObjectId,
ref: 'Conversation'
},
created: {
type: Date,
default: Date.now
},
user:{
type: Schema.ObjectId,
ref: 'User'
},
message:{
type: String,
default:''
},
readers:[{
date: {
type: Date,
default: Date.now
},
user:{
type: Schema.ObjectId,
ref: 'User'
}
}]
});