mongodb增删改查(上)

上一讲生成了mongodb服务,这里可以手动启动

方式;windows+R    ->     services.msc     ->   找到mongodb并启动

或者以管理员身份启动cmd,输入net start mongodb

然后可以在cmd中输入mongodb的命令了。

 

首先输入mongo     (输入之后才可以启动mongodb命令)

便可以查看mongodb的一些信息

假如报错,可以将mongodb的bin文件夹路径添加到环境变量中

 

【添加数据库】

使用use  数据库名        (如果有这个数据库的表示切换到当前数据库进行操作)

eg:  use  adu

没有数据库就会自动创建数据库

 

【查看所有数据库】

show  dbs

(空数据库不会显示,比如上面创建的adu)

 

【删除数据库】

db.dropDatabase()       (这里的db是当前use的对象)

 

【创建集合】

集合相当于表

db.createCollection("aduya")

 

【删除集合】

db.aduya.drop()

(其中aduya为自定义集合名)

 

【展示所有集合】

show collections     (这里是相对数据库而言的,也就是当前use的数据库)

 

【向集合中插入文档】

文档,相当于一行行数据

语法:

db.collection.insertOne() / db.collection.replaceOne()   :如果 _id 主键存在则更新数据,如果不存在就插入数据。

db.collection.insert():若插入的数据主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常,提示主键重复,不保存当前数据。

括号中写入的是要插入的文档

 

格式:

db.collection.insertOne(
   <document>,
   {
      writeConcern: <document>
   }
)

插入多条:

db.collection.insertMany(
   [ <document 1> , <document 2>, ... ],
   {
      writeConcern: <document>,
      ordered: <boolean>
   }
)

其中,writeConcern:写入策略,默认为 1,即要求确认写操作,0 是不要求

ordered:指定是否按顺序写入,默认 true,按顺序写入

 

实例:

db.col.insert({title: 'MongoDB 教程', 
    description: 'MongoDB 是一个 Nosql 数据库'
})

 

【修改集合中的文档】

语法格式:

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

说明:

query:更改条件,相当于where

update:update的对象和一些更新的操作符

upsert:如果不存在记录,是否插入新对象,默认是false,不插入,可选

multi:是否修改查询到的所有记录,默认是false,只更改第一个,可选

writeConcern:抛出的异常级别,可选

 

实例:

 db.aduya.update({'addr':'wuhan'},{$set:{'name':'adus'}})

$set: 表示赋值

展示结果:

db.aduya.find().pretty()

pretty()   采用竖直排列,更直观一点。不使用的话,便会横向显示

 

还有另一种更新方法:

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

save()传入文档的形式直接覆盖原文档,如果id存在就覆盖,不存在就插入

 

 

未完待续,持续更新中...

posted @ 2020-10-08 23:34  RookieCoderAdu  阅读(136)  评论(0)    收藏  举报