zoukankan      html  css  js  c++  java
  • mongoDB3--mongoDB的基本操作。

    【MongoDb探究】03-mongodb基本操作语句

    标签: mongodbdb.createCollectiondb.collectionName.indb.dropDatabasedb.collectionName.dr
     分类:
    之前我们已经安装了mongodb,并使用客户端连接上了mongodb的服务端。
    接下来我们学习一些简单的操作命令。

    mongo入门命令
    在传统关系型数据库中,我们分为一个个的库,每个库下分为一个个的表:

    我们的mongodb也和上面一样,在数据库database下面有N多集合,每个集合
    中的数据结构可以完全不同:


    (1)查看目前所有数据库(show dbs)
    我们启动mongodb客户端,使用show dbs指令,可以查看目前所有数据库:


    (2)选择数据库(use databaseName)
    我们选择local数据库:

    使用show tables可以查看该库下有哪些表。
    注意:system开头的表是系统表,不要随意操作,可能会造成数据库崩溃。

    (3)查看当前库下的集合(show collections/tables)
    上面使用的是show tables,这个语法是为了照顾经常使用关系型数据库的
    用户,而使用show collections也是查看该库下的集合(说“表”也可以)。


    (4)创建数据库
    MongoDb的库是隐式创建,你可以use一个不存在的库,
    然后在该库下创建collection,即可创建库。

    (5)创建一个集合(db.createCollection('CollectionName'))
    我们先创建一个库(use school学校库),
    然后使用db.createCollection('CollectionName')指令,
    创建一个集合(也就是关系型数据库中所说的“表”),
    其中“CollectionName”是你要创建的集合的名称:

    我们在school库中创建了一个名为student(学生)的集合。

    创建Collection的意义:
    对于传统关系型数据库而言,创建一张表的意义在于,界定了这张表每一行的结构,
    包括应该有哪几列,数据类型是什么,全部统统界定了。
    而对于mongodb这种nosql数据而言,Collection的意义何在?我们每一个Colleciton
    其实就是一个大的集合,里面用来放置各种各样不同的文档数据而已。

    (6)插入一条数据(db.collectionName.insert({key:value,key:value,...}))
    我们在刚刚的school库的student集合中创建一条数据:

    使用db.collectionName.find()查看该集合下的所有数据。
    我们发现它自动给我们生成了一个id主键。当然,我们也可以自己制定主键:

    也即是指定_id属性即可。

    我们也可以在同一个集合下,创建含有其他字段的数据:

    不受数据结构的束缚,这就正是mongodb的特点。

    不仅可以有其他字段,还可以在某个属性中嵌套属性:

    可以看到,jackson有一个爱好(hobby)属性,里面是一个数组,然后有一个简介(info)属性,里面有一个新的集合。这就是一个复合集合文档对象了。
    注:可以通过插入一条数据,隐式创建一个Collection:


    (7)删除一个collection(db.collectionName.drop())
    我们这里删除我们刚刚创建的teacher这个collection

    删除成功

    (8)删除一个库(db.dropDatabase())
    我们这里删除我们刚刚创建的school这个库

    删除成功

  • 相关阅读:
    nodejs 的序列化与反序列化
    Visual Studio 监视与快速监视即时窗口没有智能提示
    mysql 备份数据语句
    mysql 导入sql 2006
    MySql.Data.MySqlClient.MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts.
    怎么查看mysql的安装目录
    【支付宝】退款接口 报 “缺少签名参数”
    【支付宝】"验签出错,sign值与sign_type参数指定的签名类型不一致:sign_type参数值为RSA,您实际用的签名类型可能是RSA2"
    【支付宝】支付 系统繁忙,请稍后再试(ALIN10146)
    php插入日志到数据库,对象转json
  • 原文地址:https://www.cnblogs.com/gaochsh/p/6287651.html
Copyright © 2011-2022 走看看