(4) |
您所在的位置:网站首页 › 王侃为什么姓王不姓张 › (4) |
核心 db.集合.find({查询条件},[{设置显示字段}])已存在数据如图 0表示不显示 1表示显示 db.fnfos.find({"url":"www.google.com"},{"_id":0});列数多时,可看出效果 db.fnfos.find({"url":"www.google.com"},{"_id":0,"url":1}).pretty(); 关系查询 不等于$ne大于$gt小于$lt大于等于$gte小于等于$lte等于key:value 、$eq准备操作案例集合 db.students.drop() db.students.insert({"name":"张三","sex":"男","age":19,"score":89,"address":"海淀区"}); db.students.insert({"name":"李四","sex":"女","age":20,"score":59,"address":"朝阳区"}); db.students.insert({"name":"王五","sex":"女","age":19,"score":99,"address":"西城区"}); db.students.insert({"name":"赵六","sex":"男","age":20,"score":100,"address":"东城区"}); db.students.insert({"name":"孙七","sex":"男","age":19,"score":20,"address":"海淀区"}); db.students.insert({"name":"王八","sex":"女","age":21,"score":0,"address":"海淀区"}); db.students.insert({"name":"刘九","sex":"男","age":19,"score":70,"address":"朝阳区"}); db.students.insert({"name":"钱十","sex":"女","age":21,"score":56,"address":"西城区"});年龄大于19岁的学生 成绩小于等于60分的学生 查询名字不是王五的学生 用逗号(,)分隔若干条件 db.students.find({"age":{"$gte":19,"$lte":20}}).pretty();查询年龄大于等于19岁 并且 小于等于20岁的学生 查询年龄不是19岁的学生 查询年龄大于19岁,或者成绩大于90分的学生信息 {$mod:[数字,余数]} db.students.find({"age":{"$mod":[20,0]}}).pretty();查询 年龄 20并且余数为0 的学生 查询 年龄 20并且余数为1 的学生 查询信息为 张三,李四,王五 的信息 添加一些含有数组(列表)的案例操作的集合数据 db.students.insert({"name":"Wilson","sex":"男","age":19,"score":89,"address":"海淀区","course":["语文","数学","英语","音乐","政治"]}); db.students.insert({"name":"Wilson","sex":"男","age":19,"score":89,"address":"海淀区","course":["语文","数学"]}); db.students.insert({"name":"Wilson","sex":"男","age":19,"score":89,"address":"海淀区","course":["语文","数学","英语"]}); db.students.insert({"name":"Wilson","sex":"男","age":19,"score":89,"address":"海淀区","course":["英语","音乐","政治"]}); db.students.insert({"name":"Wilson","sex":"男","age":19,"score":89,"address":"海淀区","course":["语文","政治"]}); {"$all",[内容1,内容2]} db.students.find({"course":{"$all":["语文","数学"]}}).pretty();查询同时参加语文和数学课程的学生
查询出参加两门课程的学生 年龄为19岁所有学生信息,但课程只显示两门(前两门) 取中间两门课程 db.students.find({"age":19},{"course":{"$slice":[1,2]}}).pretty(); 利用 索引 查询集合中数组(列表)key.index 方式定义索引 (0 起始) db.students.find({"course.1":"数学"}).pretty();查询数组(列表)中第二个内容(index = 1) 准备案例操作的集合数据 db.students.insert({"name":"大拿 -A","sex":"男","age":19,"score":89,"address":"海淀区","course":["语文","数学","英语","音乐","政治"],"parents":[{"name":"大拿-A(父亲)","age":50,"job":"工人"},{"name":"大拿-A(母亲)","age":46,"job":"职员"}]}); db.students.insert({"name":"大拿 -B","sex":"男","age":19,"score":89,"address":"海淀区","course":["语文","数学"],"parents":[{"name":"大拿-B(父亲)","age":50,"job":"处长"},{"name":"大拿-B(母亲)","age":46,"job":"局长"}]}); db.students.insert({"name":"大拿 -C","sex":"男","age":19,"score":89,"address":"海淀区","course":["语文","数学","英语"],"parents":[{"name":"大拿-C(父亲)","age":50,"job":"工人"},{"name":"大拿-C(母亲)","age":46,"job":"局长"}]}); $elemMatch db.students.find({ "$and":[ {"age":{"$gte":19}}, {"parents":{"$elemMatch":{"job":"局长"}}} ] }).pretty();查询出学生年龄大于等于19岁并且父母有人是局长的信息 布尔值,true字段存在,false 字段不存在 db.students.find({"parents":{"$exists":true}}).pretty();查询有 parents 字段的 学生信息 查询不具有 course 字段的学生信息 虽然这种方式实现了数据查询,但是最大的缺点是将在MongoDB里面保存的BSON数据重新变成JavaScript的语法结构,这样的方式不方便使用数据库的索引,不建议此形式使用 db.students.find({"$where":"this.age>20"}).pretty();查询年龄大于20岁的学生信息
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |