python 高级码农成才之路

mongodb nosql数据库的查询相关操作

2020-10-25  本文已影响0人  幼姿沫

一  对数据库集合进行查询

1.查询方法  关键字   find()  findOne()

> db.test.find()

{ "_id" : ObjectId("5f95179e1221b7ffcd13dfd8"), "name" : "hua", "gender" : "male", "age" : 20, "address" : "wh" }

{ "_id" : ObjectId("5f9517ac1221b7ffcd13dfd9"), "name" : "yh", "gender" : "male", "age" : 30, "address" : "wh" }

{ "_id" : ObjectId("5f9517bc1221b7ffcd13dfda"), "name" : "zxy", "gender" : "female", "age" : 35, "address" : "wh" }

{ "_id" : ObjectId("5f9517fa1221b7ffcd13dfdd"), "name" : "zys", "gender" : "male", "age" : 28, "address" : "bj" }

{ "_id" : ObjectId("5f9518091221b7ffcd13dfde"), "name" : "ljy" }

{ "_id" : ObjectId("5f9518181221b7ffcd13dfdf"), "name" : "jxx", "gender" : "female", "age" : 38, "address" : "sh" }

> db.test.find().pretty()

{

        "_id" : ObjectId("5f95179e1221b7ffcd13dfd8"),

        "name" : "hua",

        "gender" : "male",

        "age" : 20,

        "address" : "wh"

}

{

        "_id" : ObjectId("5f9517ac1221b7ffcd13dfd9"),

        "name" : "yh",

        "gender" : "male",

        "age" : 30,

        "address" : "wh"

}

{

        "_id" : ObjectId("5f9517bc1221b7ffcd13dfda"),

        "name" : "zxy",

        "gender" : "female",

        "age" : 35,

        "address" : "wh"

}

{

        "_id" : ObjectId("5f9517fa1221b7ffcd13dfdd"),

        "name" : "zys",

        "gender" : "male",

        "age" : 28,

        "address" : "bj"

}

{ "_id" : ObjectId("5f9518091221b7ffcd13dfde"), "name" : "ljy" }

{

        "_id" : ObjectId("5f9518181221b7ffcd13dfdf"),

        "name" : "jxx",

        "gender" : "female",

        "age" : 38,

        "address" : "sh"

}

> db.test.findOne({age:{$gt:30}})

{

        "_id" : ObjectId("5f9517bc1221b7ffcd13dfda"),

        "name" : "zxy",

        "gender" : "female",

        "age" : 35,

        "address" : "wh"

}

2.集合中的比较运算符

> db.test.find({age:{$lt:30}})

{ "_id" : ObjectId("5f95179e1221b7ffcd13dfd8"), "name" : "hua", "gender" : "male", "age" : 20, "address" : "wh" }

{ "_id" : ObjectId("5f9517fa1221b7ffcd13dfdd"), "name" : "zys", "gender" : "male", "age" : 28, "address" : "bj" }

> db.test.find({age:{$lt:30}}).count()

2

> db.test.find({age:{$gt:35}})

{ "_id" : ObjectId("5f9518181221b7ffcd13dfdf"), "name" : "jxx", "gender" : "female", "age" : 38, "address" : "sh" }

> db.test.find({age:{$gte:35}})

{ "_id" : ObjectId("5f9517bc1221b7ffcd13dfda"), "name" : "zxy", "gender" : "female", "age" : 35, "address" : "wh" }

{ "_id" : ObjectId("5f9518181221b7ffcd13dfdf"), "name" : "jxx", "gender" : "female", "age" : 38, "address" : "sh" }

> db.test.find({age:{$ne:40}})

{ "_id" : ObjectId("5f95179e1221b7ffcd13dfd8"), "name" : "hua", "gender" : "male", "age" : 20, "address" : "wh" }

{ "_id" : ObjectId("5f9517ac1221b7ffcd13dfd9"), "name" : "yh", "gender" : "male", "age" : 30, "address" : "wh" }

{ "_id" : ObjectId("5f9517bc1221b7ffcd13dfda"), "name" : "zxy", "gender" : "female", "age" : 35, "address" : "wh" }

{ "_id" : ObjectId("5f9517fa1221b7ffcd13dfdd"), "name" : "zys", "gender" : "male", "age" : 28, "address" : "bj" }

{ "_id" : ObjectId("5f9518091221b7ffcd13dfde"), "name" : "ljy" }

{ "_id" : ObjectId("5f9518181221b7ffcd13dfdf"), "name" : "jxx", "gender" : "female", "age" : 38, "address" : "sh" }

3.范围运算符

4.逻辑运算符

and or的用法

5.正则表达式

查找姓名中包含要查询的字的信息

db.test.find({name:/a/})

db.test.find({name:/^h/})

db.test.find({name:/y$/})

db.test.find({name:{$regex:/y$/}})

6.limit 和skip方法

7.自定义查询

db.test.find({$where:function(){return this.age>25}})

{ "_id" : ObjectId("5f9517ac1221b7ffcd13dfd9"), "name" : "yh", "gender" : "male", "age" : 30, "address" : "wh" }

{ "_id" : ObjectId("5f9517bc1221b7ffcd13dfda"), "name" : "zxy", "gender" : "female", "age" : 35, "address" : "wh" }

{ "_id" : ObjectId("5f9517fa1221b7ffcd13dfdd"), "name" : "zys", "gender" : "male", "age" : 28, "address" : "bj" }

{ "_id" : ObjectId("5f9518181221b7ffcd13dfdf"), "name" : "jxx", "gender" : "female", "age" : 38, "address" : "sh" }

db.test.find({$where:function(){

return this.age>30 && this.gender=='female'

}})

{ "_id" : ObjectId("5f9517bc1221b7ffcd13dfda"), "name" : "zxy", "gender" : "female", "age" : 35, "address" : "wh" }

{ "_id" : ObjectId("5f9518181221b7ffcd13dfdf"), "name" : "jxx", "gender" : "female", "age" : 38, "address" : "sh" }

db.test.find({$where:function(){

return this.age>=30  || this.gender=='male'

}})

{ "_id" : ObjectId("5f95179e1221b7ffcd13dfd8"), "name" : "hua", "gender" : "male", "age" : 20, "address" : "wh" }

{ "_id" : ObjectId("5f9517ac1221b7ffcd13dfd9"), "name" : "yh", "gender" : "male", "age" : 30, "address" : "wh" }

{ "_id" : ObjectId("5f9517bc1221b7ffcd13dfda"), "name" : "zxy", "gender" : "female", "age" : 35, "address" : "wh" }

{ "_id" : ObjectId("5f9517fa1221b7ffcd13dfdd"), "name" : "zys", "gender" : "male", "age" : 28, "address" : "bj" }

{ "_id" : ObjectId("5f9518181221b7ffcd13dfdf"), "name" : "jxx", "gender" : "female", "age" : 38, "address" : "sh" }

8.投影

9.排序

db.test.find().sort({age:1})

{ "_id" : ObjectId("5f9518091221b7ffcd13dfde"), "name" : "ljy" }

{ "_id" : ObjectId("5f95179e1221b7ffcd13dfd8"), "name" : "hua", "gender" : "male", "age" : 20, "address" : "wh" }

{ "_id" : ObjectId("5f9517fa1221b7ffcd13dfdd"), "name" : "zys", "gender" : "male", "age" : 28, "address" : "bj" }

{ "_id" : ObjectId("5f9517ac1221b7ffcd13dfd9"), "name" : "yh", "gender" : "male", "age" : 30, "address" : "wh" }

{ "_id" : ObjectId("5f9517bc1221b7ffcd13dfda"), "name" : "zxy", "gender" : "female", "age" : 35, "address" : "wh" }

{ "_id" : ObjectId("5f9518181221b7ffcd13dfdf"), "name" : "jxx", "gender" : "female", "age" : 38, "address" : "sh" }

db.test.find().sort({age:-1})

{ "_id" : ObjectId("5f9518181221b7ffcd13dfdf"), "name" : "jxx", "gender" : "female", "age" : 38, "address" : "sh" }

{ "_id" : ObjectId("5f9517bc1221b7ffcd13dfda"), "name" : "zxy", "gender" : "female", "age" : 35, "address" : "wh" }

{ "_id" : ObjectId("5f9517ac1221b7ffcd13dfd9"), "name" : "yh", "gender" : "male", "age" : 30, "address" : "wh" }

{ "_id" : ObjectId("5f9517fa1221b7ffcd13dfdd"), "name" : "zys", "gender" : "male", "age" : 28, "address" : "bj" }

{ "_id" : ObjectId("5f95179e1221b7ffcd13dfd8"), "name" : "hua", "gender" : "male", "age" : 20, "address" : "wh" }

{ "_id" : ObjectId("5f9518091221b7ffcd13dfde"), "name" : "ljy" }

db.test.find().sort({name:1})

{ "_id" : ObjectId("5f95179e1221b7ffcd13dfd8"), "name" : "hua", "gender" : "male", "age" : 20, "address" : "wh" }

{ "_id" : ObjectId("5f9518181221b7ffcd13dfdf"), "name" : "jxx", "gender" : "female", "age" : 38, "address" : "sh" }

{ "_id" : ObjectId("5f9518091221b7ffcd13dfde"), "name" : "ljy" }

{ "_id" : ObjectId("5f9517ac1221b7ffcd13dfd9"), "name" : "yh", "gender" : "male", "age" : 30, "address" : "wh" }

{ "_id" : ObjectId("5f9517bc1221b7ffcd13dfda"), "name" : "zxy", "gender" : "female", "age" : 35, "address" : "wh" }

{ "_id" : ObjectId("5f9517fa1221b7ffcd13dfdd"), "name" : "zys", "gender" : "male", "age" : 28, "address" : "bj" }

10.统计个数

11.去重操作

上一篇 下一篇

猜你喜欢

热点阅读