#node.js #mongodb #express #mongoose
#node.js #mongodb #экспресс #mongoose
Вопрос:
извините за вопрос новичка.
Я пытаюсь написать конечные точки CRUD для модели дружбы, которая содержит идентификаторы двух пользователей.
Чтобы создать дружбу, первое, что я хочу сделать, это проверить, существует ли уже экземпляр этой модели, который будет содержать оба идентификатора в любом заданном порядке, поэтому я написал:
Friendship.findOne.all({users: [user1.id, user2.id]})
.then(.....
Но сервер отвечает с ошибкой 500: Friendship.findOne.all is not a function
Каков был бы правильный способ сделать это?
Комментарии:
1. Короче говоря, вы хотите проверить, существуют ли оба заданных идентификатора 2 в вашей БД или нет?
Ответ №1:
Я предполагаю, что вы хотите проверить, присутствуют ли оба id
records/documents
в вашем collection
или нет, поэтому для этого вы используете $in
оператор, подобный этому
Friendship.find({id: {$in : [user1.id, user2.id]} })
.then(.....
Это вернет array
количество записей, если какая-либо из id
записей будет присутствовать. И он вернет пустой array
, если ни одна из id
записей не будет представлена в вашей БД