У меня есть маршрут для отправки почтовых запросов:
chats.post('/getUsersNotChatting', (req, res) => {
var regex = new RegExp('/' + req.body.userEmail + '/')
Chat.find({'participants.userEmail': {$not: regex}, chatType: 'chat'})
.then(chat => {
if (!chat) {
res.status(404).send()
} else {
res.status(200).json(chat)
}
})
.catch(err => {
console.log(err)
res.status(500).send(err)
})
})
структура схемы равна chats->participants-userEmail
в терминах значения, которое я пытаюсь собрать внутри поддокумента participants
.
Почему он по-прежнему возвращает chat
документов с test@gmail.com
, когда req.body.userEmail
равно test@gmail.com
РЕДАКТИРОВАТЬ: Это ответ, который я получаю в почтальоне -
[
{
"_id": "5cc695defaa9550f30220e52",
"participants": [
{
"_id": "5cc695defaa9550f30220e54",
"userEmail": "john@gmail.com"
},
{
"_id": "5cc695defaa9550f30220e53",
"userEmail": "user2@gmail.com"
}
],
"chatType": "chat",
"messages": [],
"__v": 0
},
{
"_id": "5cc695e3faa9550f30220e55",
"participants": [
{
"_id": "5cc695e3faa9550f30220e57",
"userEmail": "test@gmail.com"
},
{
"_id": "5cc695e3faa9550f30220e56",
"userEmail": "user2@gmail.com"
}
],
"chatType": "chat",
"messages": [],
"__v": 0
},
{
"_id": "5cc811597990d5516431de50",
"participants": [
{
"_id": "5cc811597990d5516431de52",
"userEmail": "test@gmail.com"
},
{
"_id": "5cc811597990d5516431de51",
"userEmail": "user2@gmail.com"
}
],
"chatType": "chat",
"messages": [],
"__v": 0
},
{
"_id": "5cc8115a7990d5516431de53",
"participants": [
{
"_id": "5cc8115a7990d5516431de55",
"userEmail": "test@gmail.com"
},
{
"_id": "5cc8115a7990d5516431de54",
"userEmail": "user2@gmail.com"
}
],
"chatType": "chat",
"messages": [],
"__v": 0
},
{
"_id": "5cc8115a7990d5516431de56",
"participants": [
{
"_id": "5cc8115a7990d5516431de58",
"userEmail": "test@gmail.com"
},
{
"_id": "5cc8115a7990d5516431de57",
"userEmail": "user2@gmail.com"
}
],
"chatType": "chat",
"messages": [],
"__v": 0
}
]