美文网首页
MongoDB边操作边学CRUD

MongoDB边操作边学CRUD

作者: 灯不梨喵 | 来源:发表于2017-12-23 22:12 被阅读0次

在上一篇安装过程我们已经成功把MongoDB创建为Windows的启动命令,
在http://127.0.0.1:27017/也看到了成功启动的结果

成功启动服务
那之后呢?
我们在命令行直接输入mongo命令

显示了当前MongoDB的信息,当前连接的不是某一个数据库,而是我们的本地页面,那事不宜迟我们赶紧来使用吧

创建数据库

语法

use DATABASE_NAME

示例

要显示新创建的数据库,需要至少插入一个文档,空的数据库是不显示出来的。



删除数据库

语法

db.dropDatabase()

示例
删除数据库test

插入文档

文档的数据结构和JSON基本一样。
所有存储在集合中的数据都是BSON格式。
BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。

语法

db.COLLECTION_NAME.insert(document)

    db.collection.insertOne() New in version 3.2
    db.collection.insertMany() New in version 3.2
示例
插入一个榴莲比萨
pizza是集合名
当然我们也可以使用一个变量定义数据,再插入数据

document=数据
db.pizza.insert(document)
插入数据后,数据自带了ID,id定义看这里

更新

一般使用update()方法,但同时还有另外一个save()方法
要说到save()insert()的区别了
若新增的数据中存在主键 ,insert() 会提示错误,而save() 则更改原来的内容为新内容。
如:
已存在数据: {_id : 1, " name " : " n1 " },再次进行插入操作时,
insert({_id : 1, " name " : " n2 " }) 会报主键重复的错误提示
save({ _id : 1, " name " : " n2 " }) 会把 n1 修改为 n2 。
相同点:
若新增的数据中没有主键时,会增加一条记录。
已存在数据: { _id : 1, " name " : " n1 " },再次进行插入操作时,
insert({ " name " : " n2 " }) 插入的数据因为没有主键,所以会增加一条数据
save({ " name " : " n2 " }) 增加一条数据。

db.collection.updateOne() New in version 3.2
db.collection.updateMany() New in version 3.2
db.collection.replaceOne() New in version 3.2
语法
db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

第一个参数是查找条件,第二个参数是修改内容,第三个参数可选。
upsert:如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :抛出异常的级别。

示例
更新操作
有关示例出现修改内容的$set,这一类叫做修改器,详情参考这里
如果不用$set会怎么样?

删除

语法
db.collection.remove(
   <query>,
   <justOne>
)

如果 MongoDB 是 2.6 版本以后的,语法格式如下:

db.collection.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)

参数说明:
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档。
writeConcern :(可选)抛出异常的级别。
如果要删除全部数据则>db.col.remove({})
db.collection.deleteOne() New in version 3.2
db.collection.deleteMany() New in version 3.2

示例

查询

语法

db.collection.find(query, projection)
query :可选,使用查询操作符指定查询条件
projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
查询的进一步学习(排序、索引、投影等)

如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:
>db.col.find().pretty()
pretty() 方法以格式化的方式来显示所有文档。
可以传入多个键,等于常规SQL的AND
db.col.find({key1:value1, key2:value2})
一些可能用到的修改器:
$lt <
$lte <=
$gt >
$gte >=
$ne !=
$or OR

>db.col.find(
   {
      $or: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()
示例

现在数据库test的集合pizza中有如下数据:



查找price<90的:


图片.png

相关文章

  • MongoDB边操作边学CRUD

    在上一篇安装过程我们已经成功把MongoDB创建为Windows的启动命令,在http://127.0.0.1:2...

  • 0815_mongodb的CURD

    新内容(mongodb-crud操作) nodejs操作mongodb数据库 npm install mangod...

  • MongoDB CRUD操作

    CRUD操作即对文档进行create,read,update 和 update 。创建(create)操作创建或者...

  • MongoDB CRUD 操作

    http://www.mongoing.com/docs/tutorial/query-documents.html

  • mongodb 查询

    安装mongodb的安装配置mongodb的基本操作mongodb的增删改查(CRUD)选修:主从双备权限控制使用...

  • 2019-09-02 查看redis思考

    想想之前查看mongodb的时候,也是查看mongodb的权威指南,看了很多,就是基本的crud, 然后聚合操作,...

  • 边学边用,边用边学

    我一直想学很多东西,却一直没学好,甚至还没开始真正学习。 大学的时候,我就想学很多东西。想学习谈判,学习演讲,写一...

  • mongoDB入门一

    进行CRUD操作之前有必要了解mongoDB的数据模型。 MongoDB增删改查 MongoDB 是一个基于分布式...

  • MongoDB的CRUD操作

    数据库相关 显示所有的数据库:show dbs 切换数据库(若不存在,则直接创建):use test 删除数据库:...

  • MongoDB基本操作CRUD

    一 MongoDB概念 1.1 概述 MongoDB是NoSQL数据库产品中的一种。是最像关系型数据库(MySQL...

网友评论

      本文标题:MongoDB边操作边学CRUD

      本文链接:https://www.haomeiwen.com/subject/izkfgxtx.html