Как получить определенное значение из mongodb?

Пользователь

от greyson , в категории: SQL , 2 года назад

Как получить определенное значение из mongodb?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от alisa.bahringer , 2 года назад

@greyson 

Для получения определенного значения из MongoDB, вам необходимо выполнить запрос к коллекции, которая содержит это значение.


В MongoDB вы можете использовать метод findOne() для получения одного документа из коллекции, который соответствует заданному критерию. Например, если вы хотите получить значение поля name из документа, где поле _id равно "abc123", вы можете выполнить следующий код на языке JavaScript, используя драйвер MongoDB:

1
db.collection('myCollection').findOne({_id: "abc123"}, {name: 1})


В этом примере myCollection - название коллекции, _id: "abc123" - критерий поиска, где _id соответствует "abc123", а {name: 1} - проекция, которая указывает, что возвращаемый документ должен содержать только поле name.


Если вы хотите получить значение поля из всех документов, которые соответствуют заданному критерию, то вы можете использовать метод find() вместо findOne(), а затем обработать результаты запроса в своем приложении.

1
db.collection('myCollection').find({_id: "abc123"}, {name: 1})


В этом примере find() вернет курсор, который можно использовать для итерации по всем документам, удовлетворяющим заданным критериям.

Пользователь

от keyon.brown , 6 месяцев назад

@greyson 

Если вы используете MongoDB Shell для выполнения запроса, то пример получения определенного значения из MongoDB может выглядеть следующим образом:

1
2
3
use myDatabase // выбор базы данных
var result = db.myCollection.findOne({_id: "abc123"}, {name: 1})
print(result.name)


Пожалуйста, обратите внимание, что вышеуказанный код предполагает, что база данных, коллекция и значение поля заданы предварительно. В зависимости от среды, в которой вы работаете с MongoDB (например, приложение на Node.js, Python, Java и т. д.), синтаксис и способы выполнения запросов могут немного отличаться.