Это работает для меня,
db.student.find({},{"roll":1})
нет условия в том месте, где условие, то есть внутри первых фигурных скобок. внутри следующих фигурных скобок: список имен полей проектирования, необходимых в результате, и 1 указывает, что конкретное поле является частью результата запроса
Если вы хотите получить поле «roll» только для всех 10 записей в коллекциях. Затем попробуйте это.
В MongoDb:
db.students.find ({}, {"roll": {"$ roll"})
< / blockquote>В Sql:
выберите рулон от студентов
blockquote>
Я думаю, что mattingly890 имеет правильный ответ, вот еще один пример наряду с шаблоном / commmand
db.collection.find( {}, {your_key:1, _id:0})
[/g0]
получить все данные из одного поля с помощью _id
db.student.find({}, {roll:1})
SELECT roll FROM student
blockquote>получить все данные из одного поля без _id
db.student.find({}, {roll:1, _id:0})
найти определенные данные, используя предложение where
db.student.find({roll: 80})
SELECT * FROM students WHERE roll = '80'
blockquote>найти данные используя условие where и больше, чем условие
db.student.find({ "roll": { $gt: 70 }})
SELECT * FROM student WHERE roll> '70'
blockquote>найти данные, используя предложение where и меньше или равно условию
db.student.find({ "roll": { $lte: 70 }})
SELECT * FROM student WHERE roll & lt; = '70'
blockquote>найти данные, используя where where и меньше, чем до условие
db.student.find({ "roll": { $lt: 70 }})
SELECT * FROM student WHERE roll & lt; '70'
blockquote>
Для лучшего понимания я написал похожий запрос MySQL.
Selecting specific fields
MongoDB: db.collection_name.find ({}, {name: true, email: true, phone: true} );
MySQL: имя SELECT, адрес электронной почты, телефон FROM table_name;
blockquote>Selecting specific fields with where clause
MongoDB: db.collection_name.find ({email: 'you @ email.com '}, {name: true, email: true, phone: true});
MySQL: имя SELECT, адрес электронной почты, телефон FROM table_name WHERE email =' you@email.com ';
blockquote>
Попробуйте выполнить следующий запрос:
db.student.find({}, {roll: 1, _id: 0}).pretty();
Надеюсь, что это поможет !!
получение имени студента
blockquote>student-details = db.students.find({{ "roll": {$gt: 70} },{"name": 1, "_id": False})
получение имени & amp; рулон ученика
blockquote>student-details = db.students.find({{ "roll": {$gt: 70}},{"name": 1,"roll":1,"_id": False})
В mongodb 3.4 мы можем использовать ниже логику, я не уверен в предыдущих версиях
select roll from student ==> db.student.find (! {}, {roll: 1})
приведенная выше логика помогает определить некоторые столбцы (если они меньше)
db.student.find({}, {"roll":1, "_id":0})
Это эквивалентно -
Выбрать рулон из ученика
blockquote>db.student.find ({}, {"roll": 1, «name»: 1, «_id»: 0})
Это эквивалентно -
Выбрать рулон, имя от ученика
blockquote >
Из документов MongoDB :
Проекция может явно включать несколько полей. В следующей операции метод find () возвращает все документы, соответствующие запросу. В результирующем наборе только поля item и qty и по умолчанию поле _id возвращается в соответствующих документах.
db.inventory.find ({type: 'food'}, {item: 1 , qty: 1})
blockquote>В этом примере от людей в Mongo возвращенные документы будут содержать только поля
item
,qty
и_id
.
Таким образом, вы должны иметь возможность выдавать такой оператор, как:
db.student.find({}, {roll:1, _id:0})
Вышеупомянутый оператор выберет все документы в коллекции студентов, а возвращенный документ будет возвращаем только поле
roll
(и исключаем_id
).Если мы не упомянем
_id:0
, возвращаемые поля будутroll
и_id
. Поле «_id» всегда отображается по умолчанию. Поэтому нам нужно явно указать_id:0
вместе сroll
.
0
для 9 из них? Изменить: Nevermind, исключая _id
, т. Е. {field_I_want:1, _id:0}
, похоже, работает
– Karl Tryggvason
11 October 2016 в 11:07
Только для образовательных целей вы также можете сделать это одним из следующих способов:
1.
var query = {"roll": {$gt: 70};
var cursor = db.student.find(query);
cursor.project({"roll":1, "_id":0});
2.
var query = {"roll": {$gt: 70};
var projection = {"roll":1, "_id":0};
var cursor = db.student.find(query,projection);
`
Здесь вы идете, 3 способа сделать, Самый короткий для скуки:
db.student.find({}, 'roll _id'); // <--- Just multiple fields name space separated
// OR
db.student.find({}).select('roll _id'); // <--- Just multiple fields name space separated
// OR
db.student.find({}, {'roll' : 1 , '_id' : 1 ); // <---- Old lengthy boring way
Чтобы удалить определенное поле, используйте -
:
db.student.find({}).select('roll -_id') // <--- Will remove id from result
Используйте такой запрос в оболочке:
1. Используйте database_name
e.g: use database_name
2. Которая возвращает только информацию о конкретной полевой информации при согласовании, _id:0
указывает, что не показывать ID в результате
db.collection_name.find( { "Search_Field": "value" },
{ "Field_to_display": 1,_id:0 } )