MongoDB 学习二(shell 基本操作)

通过shell启动数据库

使用昨天学过的命令  mongod --dbpath /Users/pro/Documents/mongodb/data/db  来启动服务  (先切换到bin目录下)
然后使用命令   mongo 来启动数据库


 这里默认启动的也是27017的端口,如果想更换端口可以使用 mongo --port 8888 前提是前面启动mongodb服务的时候也要更换端口

此时数据库已经启动,下面来学习shell的基本操作。


 一、创建数据库 


 命令   use foobar
此时的foobar数据库没有真正被创建,而是在mongo的预处理缓存中存在,所以此时如果什么都不干直接离开的话,这个空数据库会被mongo删除掉。

二、给指定数据库添加集合并且添加记录


上面创建了 foobar 数据库之后下面命令中的 db 就代表这个数据库,如果数据库中有多条数据文档,可以通过   use  数据文档的名字  切换到你想要的文档,此时db就代表当前的这个数据文档。


1、在数据库中添加一条叫 persons 的数据

db.persons.insert({username:"fanhu"})



2、查看所有的数据库

show dbs ---> foobar



3、查看当前数据库中有哪些数据文档

show collections   ---> persons



4、查看数据库中指定数据文档的内容

db.persons.find()  ---> { "_id" : ObjectId("5863c308aa541fa30eca26e4"), "username" : "fanhu" }
这个id是mongodb自动给插入的一个id对象

5、查看数据库中的第一条数据文档

db.persons.findOne()

6、更新文档 (后面详细讲更新器的内容,这里简单说一下set修改器)


db.persons.update({username:"fanhu"},{$set:{username:"我是樊虎"}})
第一个参数是要修改的数据,第二个参数是说要怎么改。
这时候再来查看文档内容
db.persons.find()  ---> { "_id" : ObjectId("5863c308aa541fa30eca26e4"), "username" : "我是樊虎" }

更新数据也可以使用下面的语句

var p = db.persons.findOne()   
db.persons.update(p,{$set:{username:"我是樊虎"}})

db.persons.find()  ---> { "_id" : ObjectId("5863c308aa541fa30eca26e4"), "username" : "我是樊虎" }
我们看到这样写也是可以运行的,结果是一样的,因为shell客户端其实就是js引擎,所以可以使用js语法。

但是要注意一点:

如果使用 db.persons.update(p,{age:"27"})

这时再来查看数据  --->  { "_id" : ObjectId("5863c308aa541fa30eca26e4"), "age" : 27}
因为我们没有使用$set,所以现在只有一条数据了,原来的name没有了,这就是set修改器的一个作用。


如果使用 db.persons.update(p,{$set:{username:"我是樊虎",age:"27"}})
再来查看数据   --->  {
"_id" : ObjectId("5863c0b1aa541fa30eca26e3"),
"username" : "我是樊虎",
"age" : "27"
}


7、删除文档数据

使用 db.persons.find() 查看全部数据文档(可以看到现在有两条数据)


{ "_id" : ObjectId("5863c0b1aa541fa30eca26e3"), "username" : "我是樊虎", "age" : "27" }
{ "_id" : ObjectId("5863c308aa541fa30eca26e4"), "name" : "fanhu" }


然后我们把第二条删除掉

db.persons.remove({name:"fanhu"})

再来查看  db.persons.find()   ---> { "_id" : ObjectId("5863c0b1aa541fa30eca26e3"), "username" : "我是樊虎", "age" : "27" }

这时就只剩一条数据文档了。




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老虎帅呆了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值