首页 > 数据库技术 > 详细

mongodb

时间:2019-12-04 00:17:41      阅读:89      评论:0      收藏:0      [点我收藏+]

MongoDB

数据库

  1. 关系型数据库(RDBMS):mysql , oracle, db2, sql server

    • 关系数据库中全是表

  2. 非关系型数据库(NoSQL):MongoDB、redis

    • 键值对数据库(redis)

    • 文档数据库(MongoDB)


简介

  • MongoDB的数据模型是面向文档的,所谓文档就是类似于JSON的结构,MongoDB中存的就是各式各样的JSON(BSON)。


安装

技术分享图片

  • 可以配置开机自启动,菜鸟教程


基本概念

  • 数据库(database)

  • 集合(collection)

  • 文档(document)

    • 数据库>集合> 文档

    • 在MongoDB中,数据库和集合都不需要手动创建

    • 当我们创建文档时,如果文档所在的集合或数据库不存在,会自动创建


基本指令

  • show dbs == show databases

  • use 数据库名

  • db : 显示当前所在的数据库

  • show collections : 显示数据库中的所有集合

CRUD操作

  • 插入文档

    • db.集合名称.insert(文档对象)

      • 向集合中插入一个或多个文档

      • 当像集合中插入文档时没有给文档指定id,数据库会自动生成一个,该属性用来做唯一标识,id 也可以自己指定但要唯一。

      • 例子:向test数据库中的stus集合插入一个新的学生对象

        {name:"zhangsan",age:10,gender:"male"}

        db.stus.insert({name:"zhangsan",age:10,gender:"male"})

      • 插入多个对象

        db.stus.insert([
        {name:"lisi", age:"12", gender:"female"},
        {name:"王五", age:"15", gender:"male"}])
    • db.集合名称.insertOne(文档对象)

      • 只能插入一个文档对象。

    • db.集合名称.insertMany(文档对象)

      • 只能插入多个文档对象。

      • 这样做更清晰。

  • 查询文档

    • db.集合名称.find()

      • 查询当前集合的所有文档

      • 可以接受一个对象作为条件参数

        • {}: 表示查询集合中所有文档

        • {属性:值}: 查询指定属性值的文档

      • find() 返回的是一个数组

        db.stus.find({name:"lisi"})
    • db.集合名称.findOne()

      • 查询集合中符合条件的第一个文档

      • findOne() 返回的时一个文档对象

        db.stus.findOne({name:"zhangsan"})
    • db.集合名称.find({}).count()

      • 查询所有结果的数量

  • 修改文档

    • db.集合名称.update(查询条件,新对象,属性可以没有 )

      • update() 默认情况下使用新对象替换旧对象

      • 如果需要修改指定的属性,而不是替换需要使用"修改操作符"来完成

        • $set 可以用来修改文档中的指定属性

        • $unset 可以用来删除文档的指定属性

      • update() 默认只会修改一个

      • 属性可以指定multi为true,这样就可以修改多个对象

    • db.集合名称.updateMany()

      • 同时修改多个符合条件的文档

    • db.collection.updateOne()

      • 修改一个符合条件的文档

        // 修改所有name为lisi的年龄为20
        db.stus.updateMany(
        {name:"lisi"}, // 查询条件
        { // 新对象
           $set:{
              age:20
          }
        }
        )
    • db.集合名称.replaceOne()

      • 替换

mongodb

原文:https://www.cnblogs.com/hhhhire/p/11980208.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!