Запрос для поиска определенного значения в нескольких массивах, а также получить результат того, что поля массива содержат эти значения в mon go db - PullRequest
0 голосов
/ 21 января 2020

Я хочу найти отмеченное красным значение и получить имя всех полей массива, содержащих это значение. Например, на этом снимке экрана я хочу выполнить поиск с _id и значением viz ObjectId(5e23d52622948b7c28013def), и результатом должны быть "последователи", поскольку он содержит мой требуемый поиск, помогите мне.

здесь скриншот документов моих социальных связей. Я хочу получить имя полей массива, которые содержат отмеченное значение.

1 Ответ

0 голосов
/ 22 января 2020

Вы можете написать свой запрос следующим образом

// follower
db.social.findOne({
    '_id':user_id,
    'social_connections.follow.followers':search_id
})

// following
db.social.findOne({
    '_id':user_id,
    'social_connections.follow.following':search_id
})

Здесь search_id - идентификатор переменной, которую вы хотите искать в базе данных, а user_id - документ, в котором вы хотите искать

Если результатом является документ, ваш ответ будет верным, если его значение не определено / неопределено, ваш ответ будет ложным

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...