Javascript 关于数组的奇异mongoose查询
我在mongoose的一个查询中遇到了问题,我正在寻求您的建议: 如果元素在数组中,我需要从集合中检索一些元素。很难解释,这里的交易是:如果当前用户是收件人,我需要获得消息Javascript 关于数组的奇异mongoose查询,javascript,mongoose,Javascript,Mongoose,我在mongoose的一个查询中遇到了问题,我正在寻求您的建议: 如果元素在数组中,我需要从集合中检索一些元素。很难解释,这里的交易是:如果当前用户是收件人,我需要获得消息 var Message = new Schema({ recipients: [{ pseudo: {type: String}, slug: {type: String, index: true} }], sender: { pseudo: {type
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子句?您可以使用运算符。是的,它确实有效,$NOT后跟$elemMatch!非常感谢。