MongoDB基础操作

一、数据库基础操作

//进入mongo语法环境
mongo

//查看现有数据库列表
show dbs

//切换到admin数据库,如没有即创建admin数据库
use admin

//使用use切换后,db即指向当前数据库
//新建的数据库不在列表中,是因为其内没有数据,添加条数据即可显示
db.runoob.insert({"name":"测试"})

//删除当前数据库
db.dropDatabase()

二、集合(数据库表)基础操作

//创建runoob集合
db.createCollection("runoob")

//查看已有集合
show collections

//删除集合(runoob为集合名称)
db.runoob.drop()

三、文档(数据记录行)基础操作

1、增加数据

//向runoob集合插入文档,插入文档时如没有runoob集合,即创建runoob集合并插入
db.runoob.insert({name: 'MongoDB'})
//插入多条文档
db.runoob.insert([{name: 'MongoDB'},{name: 'MongoDB1'}])

//查看runoob集合内的文档
db.runoob.find()

2、删除数据

//删除runoob集合下_id为123的文档
db.runoob.remove( {"_id":ObjectId("123")} );
db.runoob.deleteMany( {status : "A"} )	//删除所有status为A的文档
db.runoob.deleteOne( {"_id":ObjectId("123")} )	//删除一个_id为123的文档

3、修改数据

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)
//query : update的查询条件,类似sql update查询内where后面的。
//update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
//upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
//multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
//writeConcern :可选,抛出异常的级别。

//查询runoob集合下的所有status为A的文档,并修改name值
db.runoob.update( {"status":"A"} , { $set : { "name" : "runoob"} },false,true);

4、查询数据

//查看runoob集合内所有的文档
db.runoob.find()

//pretty() 方法以格式化的方式来显示所有文档
db.runoob.find().pretty()

//多个查询条件进行查找,相当于&&条件
db.runoob.find({
	"_id":ObjectId("123"),
	 "name":"MongoDB"
}).pretty()

//or进行查找,相当于 || 条件查找
db.runoob.find(
   {
      $or: [
         {"_id":ObjectId("123")},
         {"name":"MongoDB"}
      ]
   }
).pretty()

//查询likes>50 && ( _id=='123' || "name"="MongoDB" )的数据
db.runoob.find({
	"likes": {$gt:50},
	 $or: [
	 	{"_id":ObjectId("123")},
        {"name":"MongoDB"}
	 ]
 }).pretty()

5、条件操作符

//(>) 大于 - $gt
db.runoob.find({
	"likes": {$gt:50}
}).pretty()

//(<) 小于 - $lt
db.runoob.find({
	"likes": {$lt:50}
}).pretty()

//(>=) 大于等于 - $gte
db.runoob.find({
	"likes": {$gte:50}
}).pretty()

//(<= ) 小于等于 - $lte
db.runoob.find({
	"likes": {$lte:50}
}).pretty()

5、使用数据类型查找

//查找title为string的数据
db.runoob.find({"title" : {$type : 'string'}})

6、Limit与Skip方法(用于分页查询)

//limit()方法指定从MongoDB中读取的记录条数
//skip()方法指定从MongoDB中跳过的记录条数。
//每页10条,跳过前10条,即为第二页
db.runoob.find({"name":'MongoDB'}).limit(10).skip(1*10)

skip(), limilt(), sort()三个放在一起执行的时候,执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit()。

7、sort()排序

// 1 为升序排列,而 -1 是用于降序排列。
db.runoob.find({"name":'MongoDB'}).sort({"likes":-1})

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值