MongoDB基础指令
- 1.创建数据库
- 2.删除数据库
- 3.创建集合
- 4.删除集合
- 5.插入文档(数据)
- 6.更新数据
- 7.删除文档
- 8.查询文档
- 9.条件操作符
- 10.Type操作符
1.创建数据库
use 数据库名字
use TestData
use 语句其实是切换到数据库 若没有此数据库则创建一个并跳转
注:db是查看当前处于哪个数据库
此时虽然我们切换到这个数据库但是如果没有数据它不会显示
所以暂时插入一条数据
此时我们的数据库就已经创建完成
2.删除数据库
use 需要删除的数据库名字
db.dropDatabase()
删除语句其实就是db.dropDatabase() 删除当前位于的数据库 默认为test
注:show dbs是查看所有的数据库
此时我们的数据库就已经被删除
3.创建集合
use TestData
db.createCollection(集合名, [option])//option为可选参数)
db.createCollection("Data")
db.createCollection('test',{ capped : true, size : 128000, max : 1000 }) 注:1⃣️
capped: 如果为true时创建一个固定集合意思是创建一个有固定大小的集合 若为true时必须设置size默认为false
size:设置集合的最大字节
max:设置最大数量
1⃣️:上面的语句意思就是创建一个名为test的固定集合 最大字节为128000kb。最大数量为1000
若想用指令查询集合可以使用 show collection 或者 show tables
4.删除集合
db.集合名.drop()
db.test.drop()
若成功删除会返回一个true失败返回false
5.插入文档(数据)
使用insert()或者save()都可
Save()和insert()使用方法都一样不过使用save时如果有原数据的话会替换掉元数据
db.集合名.insert(数据)
db.Data.insert({name:"蓝元风",age:17,gender:"男",score:60})
在3.2版本后新增了一个insertOne和insertMany()的指令
db.集合.insertOne(data)插入一条数据并返回文件操作状态
db.集合.insertMany([data1,data2....])可插入多条数据
拓展写法:
document=({name: 'MongoDB',description: '阿巴阿巴',url: 'http://www.mongodb.com'})
db.Data.insert(document)
6.更新数据
db.集合名.update(查询语句,新数据,{upsert:boolean,multi:boolean})
db.Data.update({'name':"MongoDB"},{$set{'name':'MongoDB数据库'}})
以上upsert和multi都是可选参数
upsert:默认false , 如果没有找到此数据是否新增一个这样的数据。如果开始则为true
multi:默认为true,找到第一条数据就立刻停止更新不在进行查找,如果为false则查找全部并更新
上面我还提到有一种sava方法可以创建但如果id相同那么就是替换语句如下
db.Data.save({'_id':ObjectId("5f672fe6fca7a5ced9620b57"),'name':'MongoDB数据库教程','description':'lalalalala','url':'http://www.mongodb.com'})
还有更多特殊的操作 如:
db.Data.update( { "count" : { $gt : 1 } } , { $set : { "State" : "OK"} } );//只更新一条数据
db.Data.update( { "count" : { $gt : 3 } } , { $set : { "State" : "OK"} },false,true );//全部更新
...还有更多操作百度XD实在太多辣,抄不过来辣XD
7.删除文档
db.集合名.remove(查询语句,{justOne})
db.Data.remove({"name":"MongoDB数据库教程"})
justOne为可选:默认值为false,是否删除了第第一个就停止,如果是true则删除一个就终止
如果想要删除所有数据就可以使用
db.Data.remove({})就可以删除Data集合的所有数据
8.查询文档
db.集合名.find(查询语句){.pretty()}
db.Data.find().pretty()
.pretty()可选是否为易读状态
查询语句有很多如:
db.Data.find({"name":"蓝元风}",{"age":17}).pretty()//查找name为蓝元风age为17的所有数据多个条件用,隔开
db.Data.find({"name":"蓝元风",$or:[{"name":"耀耀酱"},{"age":17}]).pretty()//查找name为蓝元风或者name为耀耀酱并且age为17的数据
9.条件操作符
- > 大于 - $gt
- < 小于 - $lt
- >= 大于等于 - $gte
- <=) 小于等于 - $lte
使用场景:
db.Data.find({age : {$gt : 18}})//查找data集合里满足age大于18的数据 其他操作符同理
db.Data.find({age : {$lt :20, $gt : 15}})//查找data集合里满足age小于20大于15的值。
10.Type操作符
有很多,我只举例几个方法其他的请查询官网或者菜鸟教程
db.Data.find({"name" : {$type : 'string'}})//查找data集合里name的属性为string类型的
db.Data.find({"name" : {$type : 'boolean'}})//查找data集合里name的属性为Boolean类型的
db.Data.find({"name" : {$type : 'Array'}})//查找data集合里name的属性为Array类型的
以上皆为小白的个人理解若有什么错误,欢迎大佬指出
个人主页(建设中)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)