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