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

一 对数据库集合进行查询

数据库database中的集合collection名称为test

插入文档document

db.test.insert({name:'hua',gender:'male',age:20,address:'wh'})

WriteResult({ "nInserted" : 1 })

> db.test.insert({name:'yh',gender:'male',age:30,address:'wh'})

WriteResult({ "nInserted" : 1 })

> db.test.insert({name:'zxy',gender:'female',age:35,address:'wh'})

WriteResult({ "nInserted" : 1 })

> db.test.insert({name:'yzz',gender:'female',age:18,address:'bj'})

WriteResult({ "nInserted" : 1 })

> db.test.insert({name:'yzz',gender:'male',age:28,address:'bj'})

WriteResult({ "nInserted" : 1 })

> db.test.insert({name:'zys',gender:'male',age:28,address:'bj'})

WriteResult({ "nInserted" : 1 })

> db.test.insert({name:'ljy',gender:'male',age:40,address:'sh'})

WriteResult({ "nInserted" : 1 })

> db.test.insert({name:'jxx',gender:'female',age:38,address:'sh'})

WriteResult({ "nInserted" : 1 })

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.去重操作


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值