0
我有一个模型,看起来像这样:猫鼬重复申报
var conversationsSchema = new mongoose.Schema({
start_date: Date,
users: [{
user_id: mongoose.Schema.ObjectId,
socket_id: String
}]
});
我想找到两个用户,所以我使用下面的代码之间的对话。
Conversation.findOne({
'users.user_id': {$in: thisUsers.user_id},
'users.user_id': {$in: thisPartner.user_id}
});
此作品发现。但是,它看起来不正确,并且像这样做有更好的方法。我的编辑还说'重复申报'。
有没有更好的方法来做到这一点?
你可以尝试Conversation.findOne({ 'users.user_id': {$ in:thisUsers.user_id,thisPartner.user_id}}); ? – Veeram
该语法扔和错误,所以我试图把项目放在一个数组,如:'users.user_id':{$ in:[thisUsers.user_id,thisPartner.user_id]}。然后,我在对话中更改了其中一个用户的ID,但仍然找到一个,即使其中一个错误,但另一个是正确的。 – Tom
您是否需要查找包含用户标识和合作伙伴标识的行?如果是,那么你需要所有的操作员。你可以试试Conversation.findOne({'users.user_id':{$ all:[thisUsers.user_id,thisPartner.user_id]}}); ? – Veeram