MongoDB常用管理操作

**

步骤一:MongoDB常用管理操作

**
1)数据库管理

命令格式:

show dbs 查看已有的库

db 显示当前所在的库

use 库名 切换库,若库不存在延时创建库

show collections 或 show tables 查看库下已有集合

db.dropDatabase() 删除当前所在的库

查看

 > show  dbs         //查看已有的库

创建,切换

> db        //显示当前所在的库

> use ddsdb        //切换库,若库不存在的话 会自动延时创建库 

2)集合管理

> db.t1.save({name:"yaya",age:60,addr:"hebei",email:"yaya@163.com"})

> db.t1.save({name:"yaya",age:70})

查看集合里的所有内容

> db.t1.save({name:"yaya",age:70})

>  db.t1.find()

查看第一行的内容

> db.t1.findOne()

3)文档管理

命令格式:

db.集合名.find()

db.集合名.count()

db.集合名.insert({“name”:”jim”})

db.集合名.find(条件)

db.集合名.findOne() 返回查询一条文档

db.集合名.remove({}) 删除所有文档

db.集合名.remove({条件}) 删除与条件匹配的所有文档

> db.t1.save({name:"xm",age:18,"addr":"hn","email":"xm.qq.com","like":"nicai"})

> db.t1.count()
3
> db.t1.find({name:"xm"})

删除与条件匹配的所有文档

>  db.t1.remove({name:"yaya"})

删除所有文档

>  db.t1.remove({})

4)插入记录

> db.col.insert(
{ title: 'MongoDB 教程',
   description: 'MongoDB 是一个 Nosql 数据库',
   by: 'MongoDB中文网', 
   url: 'http://www.mongodb.org.cn', 
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100 
}
)

删除记录

> db.col.remove({'title':'MongoDB 教程'})

步骤二:基本数据类型

1)null:用于表示空值或者不存在的字段,{“x”:null}

> db.t1.save({name:"bob",work:null})

>  db.t1.find()
{ "_id" : ObjectId("5badf71520cdd1574b851f16"), "name" : "bob", "work" : null }
>  db.t1.save({_id:9,name:"jerry",work:null})        
//_id默认自己创建出来,按一定的规律生成
WriteResult({ "nMatched" : 0, "nUpserted" : 1, "nModified" : 0, "_id" : 9 })
>  db.t1.find()
{ "_id" : ObjectId("5badf71520cdd1574b851f16"), "name" : "bob", "work" : null }
{ "_id" : 9, "name" : "jerry", "work" : null }

2)布尔值:布尔类型有两个值true和false,{“x”:true}

> db.t1.save({name:"zhangsan",addr:"shanghai",marry:"true"})
WriteResult({ "nInserted" : 1 })
> db.t1.save({name:"lisi",age:35,addr:"beijing",marry:"false"})
WriteResult({ "nInserted" : 1 })
> db.t1.find()
{ "_id" : ObjectId("5badf71520cdd1574b851f16"), "name" : "bob", "work" : null }
{ "_id" : 9, "name" : "jerry", "work" : null }
{ "_id" : ObjectId("5badf7b020cdd1574b851f17"), "name" : "zhangsan", "addr" :  "shanghai", "marry" : "true" }
{ "_id" : ObjectId("5badf7b720cdd1574b851f18"), "name" : "lisi", "age" : 35, "addr" : "beijing", "marry" : "false" }
>

3)数值:shell默认使用64为浮点型数值,{“x”:3.14}或{“x”:3},对于整型值,可以使用NumberInt(4字节符号整数)或NumberLong(8字节符号整数),{“x”:NumberInt(“3”)}{“x”:NumberLong(“3”)}

> db.t1.save({name:"alice",woker:"gcs",pay:28888.88})
WriteResult({ "nInserted" : 1 })
> db.t1.find({pay:28888.88})
{ "_id" : ObjectId("5badf80f20cdd1574b851f19"), "name" : "alice", "woker" : "gcs", "pay" : 28888.88 }
> db.t1.save({name:"lilei",woker:"cxy",pay:28000})
WriteResult({ "nInserted" : 1 })
>  db.t1.find({pay:28000})
{ "_id" : ObjectId("5badf81f20cdd1574b851f1a"), "name" : "lilei", "woker" : "cxy", "pay" : 28000 }

4)字符串:UTF-8字符串都可以表示为字符串类型的数据,{“x”:“呵呵”}

> db.t1.save({name:"hehe",woker:null,pay:null})
WriteResult({ "nInserted" : 1 })
> db.t1.save({name:"呵呵",woker:"没有",pay:"没有"})
WriteResult({ "nInserted" : 1 })

5)日期:日期被存储为自新纪元依赖经过的毫秒数,不存储时区,{“x”:new Date()}

> db.t1.save({name:"bobo",wokertime:new Date()})
WriteResult({ "nInserted" : 1 })
> db.t1.find({name:"bobo"})
{ "_id" : ObjectId("5badf8ff6827555e3fd8680f"), "name" : "bobo", "wokertime" : ISODate("2018-09-28T09:48:47.437Z") }
>

6)正则表达式:查询时,使用正则表达式作为限定条件,语法与JavaScript的正则表达式相同,{“x”😕[abc]/}

> db.t1.save({procname:"php",code:/abc$/})
WriteResult({ "nInserted" : 1 })
>  db.t1.save({procname:"php",code:/[a-z]/})
WriteResult({ "nInserted" : 1 })
> db.t1.save({procname:"java",code:/[a-z]/})
WriteResult({ "nInserted" : 1 })
> db.t1.find()
...
...
{ "_id" : ObjectId("5badf93b6827555e3fd86810"), "procname" : "php", "code" : /abc$/ }
{ "_id" : ObjectId("5badf9426827555e3fd86811"), "procname" : "php", "code" : /[a-z]/ }
{ "_id" : ObjectId("5badf9496827555e3fd86812"), "procname" : "java", "code" : /[a-z]/ }

7)数组:数据列表或数据集可以表示为数组,{“x”: [“a“,“b”,”c”]},一个字段有多个值

> db.t1.save({name:"jerry",email:["plj@163.com","lij@yahoo.net","lij@tedu"]})
WriteResult({ "nInserted" : 1 })
> db.t1.find({name:"jerry"})
{ "_id" : 9, "name" : "jerry", "work" : null }
{ "_id" : ObjectId("5badf9976827555e3fd86813"), "name" : "jerry", "email" : [ "plj@163.com", "lij@yahoo.net", "lij@tedu" ] }
>

8)内嵌文档:文档可以嵌套其他文档,被嵌套的文档作为值来处理,{“x”:{“y”:3 }}

db.t1.save({book: {zuozhe:"dmy",bname:"yuweizhidao",jiaqian:69,version:2.0 }})
WriteResult({ "nInserted" : 1 })
> db.t1.find()
...
...
{ "_id" : ObjectId("5badfa4a6827555e3fd86814"), "book" : { "zuozhe" : "dmy", "bname" : "yuweizhidao", "jiaqian" : 69, "version" : 2 } }

9) 对象id:对象id是一个12字节的字符串,是文档的唯一标识,{“x”: objectId() }

> db.t1.save({stunum:ObjectId(),name:"yaya",class:"nsd"})
WriteResult({ "nInserted" : 1 })
> db.t1.find({name:"yaya"})
{ "_id" : ObjectId("5badfa966827555e3fd86816"), "stunum" : ObjectId("5badfa966827555e3fd86815"), "name" : "yaya", "class" : "nsd" }
//自己定义一个id字段,一般情况下都用内置的id字段,相当于mysql里的primary key auto_increment

10)二进制数据:二进制数据是一个任意字节的字符串。它不能直接在shell中使用。如果要将非utf-字符保存到数据库中,二进制数据是唯一的方式。

11)代码:查询和文档中可以包括任何JavaScript代码,{“x”:function(){//}}

> db.t1.save({lname:"html",codecript:function(){/*...*/}})
WriteResult({ "nInserted" : 1 })
> db.t1.save({lname:"html",codecript:function(){/*<html><h1>abc</h1></html>*/}})
WriteResult({ "nInserted" : 1 })
> db.t1.find()
...
...
{ "_id" : ObjectId("5badfd626827555e3fd86817"), "lname" : "html", "codecript" : { "code" : "function (){/*...*/}" } }
{ "_id" : ObjectId("5badfd6a6827555e3fd86818"), "lname" : "html", "codecript" : { "code" : "function (){/*<html><h1>abc</h1></html>*/}" } }
>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值