zoukankan      html  css  js  c++  java
  • 其他技术----mongoDB基础

    MongoDB简单使用

    介绍MongoDB

    MongoDB是一种文档型数据库,它属于非关系型数据库。数据对象以BSON(二进制JSON)格式被存储在集合的文档中,而不是关系数据库的行和列中。

    MongoDB基本概念

    集合

    使用集合将数据编组,是一组用途相同的文档,类似表的概念,但集合不受模式的限制,在其中的文档格式可以不同。

    文档

    文档表示单个实体数据,类似一条记录(行);与行的差别:行的数据是扁平的,每一列只有一个值,而文档中可以包含子文档,提供的数据模型与应用程序的会更加一致。

    如果MongoDB与关系型数据库表和数据库的对应关系如下
    集合--->表
    文档--->表中的行

    通过CLI操作MongoDB

    数据库操作

    // 显示数据库
    > show dbs
    // 切换数据库(如果没有该数据库则会创建这个临时的数据库)
    > use abc
    // 显示当前使用的数据库
    > db
    // 删除数据库
    > db.dropDatabase()
    

    集合操作

    // 显示所有集合
    > show collections
    // 创建一个集合
    > db.createCollection('persons')
    // 删除一个集合
    > db.persons.drop()
    

    insert操作

    在插入一个文档时,我们可能插入一个或多个文档,所以就会有两种插入方式,分别是db.collection.insertOne()和db.collection.insertMany()当然db.collection.insertOne()可以写成db.collection.insert()。
    数据插入后会自动生成一个值,而这个值相当于表中的主键。
    插入实例

    db.persons.insertOne({name:'alice',age:20})
    db.persons.insertMany([{name:'bob',age:20},{name:'jack',age:21,phone:['1899445123','13244648852']}])

    find操作

    由于NoSQL中是没有关联查询存在的,所以NoSQL中的查询就相对来说容易许多。查询的复杂度就小许多。

    db.persons.find()检索所有的文档
    // name 是 bob
    db.persons.find({name:'bob'})
    // age 大于 20
    db.persons.find({age:{$gt:20}})
    // age 小于30 且 name 是 bob
    db.persons.find({age:{$lt:30},name:'bob')

    update操作

    更新一个文档,如果有多个符合条件的话则只替换其中的第一个。
    db.collection.updateOne()
    更新多个文档
    db.collection.updateMany()
    更新实例

    db.persons.updateOne(
    {name:'alice'}, // 条件
    {$set:{age:19}} // 新的数据
    )

    delete操作

    删除一个文档,如果有多个文档符合条件,那么mongoDB会删除第一条匹配的数据。
    db.collection.deleteOne()
    删除多个文档,会将所有符合条件的文档删除。
    db.collection.deleteMany()
    删除实例

    db.persons.deleteOne({name:'bob'})
    db.persons.deleteMany([{},{}])
    MongoDB在进行插入操作时,如果指定的数据库是不存在的数据库或未选择数据库,数据操作将会在test数据库中操作。

  • 相关阅读:
    java生成验证码
    springmvc笔记(来自慕课网)
    angularJs编写多指令的情况
    四年前端开发的迷茫.
    angularJs的ui-router总结
    grunt构建前端自动化的开发环境
    socket传送文件
    socket--粘包
    socket--接受大数据
    动态导入模块
  • 原文地址:https://www.cnblogs.com/bananafish/p/10807651.html
Copyright © 2011-2022 走看看