在我的MongoDB中,我有一个学生集合,其中有10条记录,字段为name和roll。这个收藏的一个记录是:

{
    "_id" : ObjectId("53d9feff55d6b4dd1171dd9e"),
    "name" : "Swati",
    "roll" : "80",
}

我想检索字段滚动仅为集合中的所有10条记录,因为我们会在传统数据库中使用:

SELECT roll FROM student

我浏览了很多博客,但所有的结果都是一个必须有WHERE子句的查询,例如:

db.students.find({ "roll": { $gt: 70 })

查询等价于:

SELECT * FROM student WHERE roll > 70

我的要求是只找到一个钥匙,不附带任何条件。它的查询操作是什么。


当前回答

从表中获取所有数据

db.student.find({})

SELECT * FROM student


从没有_id的表中获取所有数据

db.student.find({}, {_id:0})

SELECT name, roll FROM student


从_id字段中获取所有数据

db.student.find({}, {roll:1})

SELECT id, roll FROM student


从一个没有_id的字段中获取所有数据

db.student.find({}, {roll:1, _id:0})

从学生中选择卷


使用where子句查找指定的数据

db.student.find({roll: 80})

SELECT * FROM student WHERE roll = '80'


使用where子句和大于条件查找数据

db.student.find({ "roll": { $gt: 70 }}) // $gt is greater than 

SELECT * FROM student WHERE roll > '70'


使用where子句和大于或等于condition查找数据

db.student.find({ "roll": { $gte: 70 }}) // $gte is greater than or equal

SELECT * FROM student WHERE >= '70'


使用where子句和小于或等于condition查找数据

db.student.find({ "roll": { $lte: 70 }}) // $lte is less than or equal

SELECT * FROM student WHERE roll <= '70'


使用where子句和小于to条件查找数据

db.student.find({ "roll": { $lt: 70 }})  // $lt is less than

SELECT student WHERE roll < '70'

其他回答

得到学生的名字

student-details = db.students.find({{ "roll": {$gt: 70} },{"name": 1, "_id": False})

获取学生的姓名和名单

student-details = db.students.find({{ "roll": {$gt: 70}},{"name": 1,"roll":1,"_id": False})

_id = "123321";_user =等待点赞。找到({liker_id: _id}, {liked_id:“$ liked_id "});; 让我们假设你在文档中有liker_id和liked_id字段,所以通过输入“$liked_id”,它将只返回_id和liked_id。

给你,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.

    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);

`

这对我很有用,

db.student.find({},{"roll":1})

where子句中没有条件,即在第一个花括号内。 下一个花括号内:结果中需要的投影字段名称列表,1表示特定字段是查询结果的一部分