继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

mongdb数据库基础---CURD

startitunderground
关注TA
已关注
手记 58
粉丝 99
获赞 931

一,mongodb创建数据库

use database_name  

如果数据库不存在,则创建数据库,否则切换到指定数据库;

show dbs 

显示所有的数据库
Mongodb中默认的数据库为test ,如果没有创建新的数据库,集合将存放在test数据库中

二,Mongodb删除数据库

db.dropDatabase()

删除当前数据库,默认为test, 你可以使用db命令查看当前数据库名称
删除完之后,可以使用show dbs 显示数据库,查看

db.collection.drop()

删除集合,例如删除mgt数据库中的集合name:

use  mgt
db.collection_name.drop()
show tables

三,Mongodb插入文档

db.collection_name.insert(document);

Mongodb使用insert()或save()方法向集合中插入文档
db.collection_name.insert({json数据})命令进行数据库的插入
collection_name是集合名称,如果该集合不存在数据库中,mongodb会自动创建该集合并插入文档;

db.collection_name.find()

查看已插入的文档

插入文档也可以使用

db.collection_name.save(document)

如果不指定_id 字段save()方法类似于insert()方法,如果指定_id 字段,则会更新该_id的数据

四,MongoDB更新文档
Mongodb使用update()和save()方法来更新集合中的文档

db.collection.update(
    <query>,
    <update>,
  {
      upsert:<boolean>,
      multi:<boolean>,
      writeConcern : <document>
   }
)

query:update的查询条件
update :update的对象和一些更新的操作等
upsert:可选,这个参数的意思是,如果不存在update的记录,是否插入objnew,true为插入,默认是false,不插入。
multi : 可选,mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新
writeConcern:可选,抛出异常的级别。
例子

db.collection_name.insert({
     title : "MGT360124",
     description: "Mongodb是一个nosql数据库",
     url : "http://www.mgt360124.com",
     tags : ["name","database","nosql"],
     likes:100 
})
db.collection_name.update(
{"title":"MGT360124"},{$set:{"title":"Mongodb"}}
)
db.collection_name.find().pretty();

save()方法通过传入的文档来替换已有的文档:

db.collection_name.save(
   <document>,
   {
     writeConcern:<document>
     }
)

document:文档数据
writeConcern:可选,抛出异常的级别

五,MongoDB删除文档

db.collection_name.remove(
    <query>,
    { 
       justOne :<boolean>,
       witeConcern : <document>
        }
)

query:可选,删除的文档的条件
justOne: 可选,如果设为true或1,则只删除一个文档
writeConcern :抛出异常的级别
使用remove()函数用来移除集合中的数据

db.collection_name.remove()
//移除所有的文档数据信息
db.collection_name.find();
//查询集合collection_name中的所有信息;

六,MongoDB查询文档

MongoDB查询文档使用find()方法
find()方法以非结构化的方式来显示所有文档

db.collection_name.find(query,projection);
//query: 可选,使用查询操作符自定查询条件
//projection:可选,使用投影操作符指定返回的键
//当然也可以使用
db.collection_name.find().pretty()
//用易于读取的方式显示文档

db.collection_name.find();

操作          格式                      示例
等于       {<key>:<value>}           db.collection_name.find({"title":"mgt360124"}).pretty()
小于       {<key>:{$lt:<value>}}     db.collection_name.find({"likes":{$lt:50}}).pretty()
大于       {<key>:{$gt:<value>}}     db.collection_name.find({"likes":{$gt:50}}).pretty()
小于或等于  {<key>:{$lte:<value>}}    db.collection_name.find({"likes":{$lte:50}}).pretty()
大于或等于  {<key>:{$gte:<value>}}    db.collection_name.find({"likes":{$gte:50}}).pretty()
不等于     {<key>:{$ne:<value>}}     db.collection_name.find({"likes":{$ne:50}}).pretty()

mongodb的find方法可以传入多个键(key),每个键用逗号隔开
示例

db.collection_name.find(key1:value, key2:value).pretty();

通过title和likes来实现查询:查询title键值为mongodb,和likes键值小于50的文档

db.collection_name.find({
     "title":"mongodb",
      "likes":{$lt:50}
})

mongodb or条件

db.collection.find({
 $or: [
      {key1:value},{key2:value2}
   ]
}).pretty()

示例:
查询键title为mgt360124或者age键值为18的文档;

db.collection.find({
   $or :[
        {"title":"mgt360124"},{"age":18}
      ]
})
打开App,阅读手记
10人推荐
发表评论
随时随地看视频慕课网APP