我在 mongoose 中查询时遇到问题,我正在寻找您的建议:
如果元素在数组中,我需要从集合中检索一些元素。很难解释,这是交易:如果当前用户在收件人中,我需要获取消息
var Message = new Schema({
recipients: [{
pseudo: {type: String},
slug: {type: String, index: true}
}],
sender: {
pseudo: {type: String},
slug: {type: String, index: true}
},
content: String,
dateCreated: {type: Date, default: Date.now},
readBy: [{
pseudo: String,
slug: String,
date: Date
}]
});
同样,在检查未读消息时,如果我的用户不在 readBy 数组中,我需要检索一些消息。
我知道如何使用 $in 运算符,但它的工作方式相反。是否有可能实现这种查询?
编辑:我发现了 $elemMatch 运算符,它可以很好地处理我的第一个问题,但我不确定如何将它用于未读消息。是否可以在其中添加 NOT 子句?