mongoDB基础入门一

mongoDB启动:

        只需要在 MongoDB 安装目录的 bin 目录下执行 mongod 即可。

主要命令:

        1.show dbs :显示所有的数据库

        2.db : 显示当前数据库

        3.use xxx:指定连接xxx数据库

保留数据库:

        1.admin:从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。

        2.local:这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合

        3.config:当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

3.创建表:

            使用use xxx  ,若xxx不存在则创建,若存在则直接切换。

4.删除数据库:        

db.dropDatabase()

 5.删除集合:

db.collection.drop()

6.创建集合:

db.createCollection(name, options)

7.插入:

db.COLLECTION_NAME.insert(document)
db.col.save(document)  //与insert区别是若指定id则更新该id的值(document是一个数据变量)

db.collection.insertMany([{"b": 3}, {'c': 4}])//插入多条记录

8.更新文档:

db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})//multi表示是否更新符合条件的所有的记录,若为false则只改变第一条

在3.2版本开始,MongoDB提供以下更新集合文档的方法:

  • db.collection.updateOne() 向指定集合更新单个文档
  • db.collection.updateMany() 向指定集合更新多个文档

首先我们在test集合里插入测试数据

use test
db.test_collection.insert( [
{"name":"abc","age":"25","status":"zxc"},
{"name":"dec","age":"19","status":"qwe"},
{"name":"asd","age":"30","status":"nmn"},
] )

更新单个文档

> db.test_collection.updateOne({"name":"abc"},{$set:{"age":"28"}})
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
> db.test_collection.find()
{ "_id" : ObjectId("59c8ba673b92ae498a5716af"), "name" : "abc", "age" : "28", "status" : "zxc" }
{ "_id" : ObjectId("59c8ba673b92ae498a5716b0"), "name" : "dec", "age" : "19", "status" : "qwe" }
{ "_id" : ObjectId("59c8ba673b92ae498a5716b1"), "name" : "asd", "age" : "30", "status" : "nmn" }
>

更新多个文档

> db.test_collection.updateMany({"age":{$gt:"10"}},{$set:{"status":"xyz"}})
{ "acknowledged" : true, "matchedCount" : 3, "modifiedCount" : 3 }
> db.test_collection.find()
{ "_id" : ObjectId("59c8ba673b92ae498a5716af"), "name" : "abc", "age" : "28", "status" : "xyz" }
{ "_id" : ObjectId("59c8ba673b92ae498a5716b0"), "name" : "dec", "age" : "19", "status" : "xyz" }
{ "_id" : ObjectId("59c8ba673b92ae498a5716b1"), "name" : "asd", "age" : "30", "status" : "xyz" }
>

9.删除集合中的数据:

db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)//第一个参数表示要删除数据的查询条件,第二个表示是否至删除一条,1或者true为是,false为找到数据全删,默认是全删除


remove() 方法已经过时了,现在官方推荐使用 deleteOne() 和 deleteMany() 方法。

如删除集合下全部文档:

db.inventory.deleteMany({})

删除 status 等于 A 的全部文档:

db.inventory.deleteMany({ status : "A" })

删除 status 等于 D 的一个文档:

db.inventory.deleteOne( { status: "D" } )


10.查询(与关系数据对应):   

           db.collection.find(query,projection)


  范例RDBMS中的类似语句
等于{<key>:<value>}db.col.find({"by":"菜鸟教程"}).pretty()where by = '菜鸟教程'
小于{<key>:{$lt:<value>}}db.col.find({"likes":{$lt:50}}).pretty()where likes < 50
小于或等于{<key>:{$lte:<value>}}db.col.find({"likes":{$lte:50}}).pretty()where likes <= 50
大于{<key>:{$gt:<value>}}db.col.find({"likes":{$gt:50}}).pretty()where likes > 50
大于或等于{<key>:{$gte:<value>}}db.col.find({"likes":{$gte:50}}).pretty()where likes >= 50
不等于{<key>:{$ne:<value>}}db.col.find({"likes":{$ne:50}}).pretty()where likes != 50


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值