MongoDB -文档对象的CRUD

目录

一、插入文档

二、查询文档

1.引入库

三、更新文档

四、删除文档

五、 投影、限制记录、排序文档

1.投影

2.限制记录

3.排序文档



一、插入文档

需要使用 MongoDB 的 insert() 方法。

操作1:创建一个数据库名称为 mydb

操作2:创建一个集合movie

操作3:插入一条数据,db.集合名称.insert({key1:val1,…..}) db.movie.insert({name:”my movie01”})

db.createCollection("movie")

//插入一条数据

db.movie.insert({name:"简爱"})

db.movie.find()

操作4:批量插入数据 mymovies=[{name:”my movies02”},{name:”my movies03”}] db.movie.insert(mymovies)

//批量插入数据

//符号为英文符号

var movies = [{name:"哈尔的移动城堡"},{name:"疯狂动物城"},{name:"百年孤独"}]

db.movie.insert(movies)

db.movie.find()

二、查询文档

1.引入库

需要使用MongoDB 的 find() 方法以非结构化的方式显示所有的文件。

操作4:创建一个集合infos用于存放姓名、年龄、性别、城市信息

//创建infos

db.createCollection("infos")

var infos = [{name:"Lee",age:20,sex:"女",city:"西安"},{name:"Tina",age:22,sex:"女",city:"西安"},{name:"Mark",age:18,sex:"男",city:"西安"}]

db.infos.insert(infos)

db.infos.find()

操作5:查询集合所有文档对象 使用MongoDB 的 findOne() 返回集合中的第一条文档数据。

操作6:查看当前集合中的第一个文档数据 使用MongoDB 的 find() .pretty()方法以结构化的方式显示所有的文件。

//加入pretty有格式化的美化效果

db.infos.find().pretty()

操作7:再次查看分析结果区别

  • $lt 小于;  $lte 小于等于 ;  $gt 大于;  $gte 大于等于;  $ne 不等于
//查看在西安居住的用户信息

db.infos.find({city:"西安"})

//不在西安的用户信息

db.infos.find({city:{$ne:"西安"}})



//查看年龄大于等于18岁的用户信息

db.infos.find({age:{$gt:18}})
  • AND/OR 在MongoDB中用法 
//查看女性用户并住在西安的用户信息

db.infos.find({sex:"女"},{city:"西安"})

//查看居住在西安或天津的用户信息

db.infos.find({$or:[{city:"西安"},{city:"天津"}]})

//查看年龄大于20,并居住在西安或者上海的用户信息

db.infos.find({age:{$gt:20},$or:[{city:"西安"},{city:"上海"}]})

三、更新文档

使用db.collection.update( criteria, objNew, upsert, multi )更新现有的文档。

  • Criteria 更新操作的条件,类似于SQL语句中的where字句
  • objNew update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
  • Upsert 这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
  • multi  mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
//将姓名为Lee的用户年龄更新为11

db.infos.update({name:"Lee"},{$set:{age:11}},false,true)

db.infos.update({name:"jack"},{$set:{age11:11}},true,true)

四、删除文档

MongoDB的 remove(deletion criteria, justOne) 方法用于从集合中删除文档。remove() 方法接受两个参数。

deletion criteria :(可选)删除标准,根据文件将被删除。

justOne : (可选)如果设置为true或1,然后只删除一个文件。

//删除用户姓名为Lee的用户信息

db.infos.remove({name:"Lee"},true)

//删除infos集合的全部数据(类似truncate)

db.infos.remove({})

五、 投影、限制记录、排序文档

1.投影

  • mongodb 投影意思是只选择必要的数据而不是选择一个文件的数据的整体。如果一个文档有5个字段,需要显示只有3个,然后选择其中只有3个字段。
  • MongoDB 的find()方法,在MongoDB查询文档接受的第二个可选参数是要检索的字段列表。
  • 在MongoDB中,当执行find()方法,那么它会显示一个文档所有字段。要限制这一点,需要设置的字段列表值1或0。 1用来显示字段而0是用来隐藏字段。
  • //投影
    
    //查询用户所在的城市和姓名
    
    db.infos.find({},{age:0,sex:0})

2.限制记录

要限制 MongoDB 中的记录,需要使用 limit() 方法。

limit() 方法接受一个数字型的参数,这是要显示的文档数。如果不指定数量 limit() 方法的参数,它会显示从集合中的所有文件。

//显示两个用户的数据

db.infos.find({}).limit(2)

除了limit() 方法,还有一个方法skip() 也接受数字类型的参数,并使用跳过的文档数。默认值skip()方法是0

  • Skip()+Limit() 实现文档数据分页显示
  • 分页显示用户数据,每页显示2条数据(pageSize=2)
  • pageSize: 单页显示的文档个数,使用limit(pageSize)控制
  • skip是第(n-1)*pageSize,n代表页数
  • 显示第1页数据 limit(pageSize)  skip((1-1)*pageSize) db.infos.find(). limit(2).skip(0)
  • 显示第2页数据 limit(pageSize)  skip((2-1)*pageSize) db.infos.find(). limit(2). skip(2)
db.infos.find({}).limit(2).skip(2)

3.排序文档

  • 要在 MongoDB 中的文档进行排序,需要使用sort()法
  • sort() 方法接受一个文档,其中包含的字段列表连同他们的排序顺序。要指定排序顺序1和-1。
  • 1用于升序排列,而-1用于降序。
//按照年龄降序排列

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值