首页 > 数据库 >mongoDB 简介

mongoDB 简介

时间:2024-09-25 16:49:57浏览次数:1  
标签:mongoDB age collName db 数据库 简介 查询 find

参考文档       

   https://www.runoob.com/mongodb/mongodb-tutorial.html  mongoDB 菜鸟教程
   https://mongodb.net.cn/manual/  mongoDB 中文官网

 

1. mongoDB 概述

MongoDB 是一个流行的开源文档型数据库,它使用类似 JSON 的文档模型存储数据,这使得数据存储变得非常灵活。
MongoDB 是一个基于文档的 NoSQL 数据库,由 MongoDB Inc. 开发。
MongoDB 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

 

注释:关系型数据库 与 非关系型数据库 的区别,如下:

 

2. mongoDB 的相关概念与术语

SQL与 MongoDB 的区别 

 注释:其他术语详见菜鸟教程 https://www.runoob.com/mongodb/mongodb-databases-documents-collections.html

 

3. 安装 mongoDB 

  下载绿色版:http://www.winwin7.com/soft/10457.html

  

  注释:将绿色版的软件包,解压到目录:D:\0_software\mongoDB\install

解压包的根目录如下:

bin目录如下:

 

  

4. 启动 mongod 服务 与 mongo 客户端 (windows系统下)

  (1)启动 mongod 服务: 在 bin 目录下执行如下指令  mongod -- dbpath [存放数据库的地址]

   (2)启动 mongo 客户端:在 bin 目录下执行如下指令  mongo  (node.js 操作 mongoDB 时,无需启动客户端)

     之后,就可以在 mongo 客户端执行指令,操作 mongoDB 数据库了!

 

5. mongoDB 的可视化工具

  虽然可以在mongo客户端直接执行指令操作数据库,但是,也有可视化工具进行直观的操作与查看。

  常用的 mongoDB 可视化工具有:Robomongo、 Robo3T、adminMongo

 

6. mongoDB 的常见指令

  注意:以下指令都是基于mongo客户端中执行的!(node.js中操作数据库的指令参考 mongoose 网站

  (1)MongoDB 的一些基本指令

    help   提示一些基础指令(help/show/find)
    db.help()
    db.mycoll.help()
    db.mycoll.find().help()


    db.stats()      显示当前DB状态
    db.version()     查看当前DB版本
    db.getMongo()     查看当前DB的链接机器地址
    db.getPrevError()     查看之前的错误信息
    db.resetError()       清楚之前的错误信息

 

  (2)数据库 database 的操作指令
    show dbs           查询所有数据库
    db / db.getName()        查看当前的数据库(无需参数)
    use <db_name>        创建/切换数据库
    db.dropDatabase()       删除当前数据库(无需参数)
    db.copyDatabase("form_db_name", "to_db_name")   复制当前的 from_db_name 数据库到 to_db_name 数据库中(mongoDB不支持重命名数据库,但可以新建数据库后复制数据)
    

    注意:创建空数据库之后,show dbs不能查询出该空数据库,得在该空数据库中创建数据表了才行。(database--collection/table--document/row--field/column)
    

   (3)数据表 collection 的操作指令

    show collections          查询当前数据库下的所有的数据表
    db.getCollectionNames()       查询当前数据库下的所有的数据表
    db.getCollection("collName")      查询当前数据库下的指定名称的数据表

    db.createCollection("collName", {size: 20, capped: 5, max: 100})    创建数据表(第二个参数可选,capped表示集合有大小上限,size是字节单位,max是最大文档数)
    db.collName.drop()                        删除数据表
    db.collName.renameCollection("collName2")            重命名数据表    

    db.collName.getDB()          查询指定数据表的所在数据库名称
    db.collName.stats()            得到当前数据表的状态
    db.collName.count()           查询数据表的数据条数
    db.collName.dataSize()         查看数据表的数据空间大小
    db.collName.totalSize()         得到当前数据表的总大小
    db.collName.storageSize()       得到当前数据表的储存空间大小

 

  (4)数据文档/行 document 的操作指令

       db.collName.save({name: "zhangsan", age: 25 })   添加(参数可以是 对象或数组)

    db.collName.remove({ })       删除所有记录
    db.collName.remove({age: 12})    删除

    db.collName.update({age: 25}, {$set: {name: "changeName"}}, false, true)         修改【$set - -赋值】
    db.collName.update({name: ‘Lisi’}, {$inc: {age: 50}}, false, true)                修改【$inc -- 增加】
    db.collName.update({name: ‘Lisi’}, {$inc: {age: 50}, $set: {name: "hoho"}}, false, true)     修改【$set - -赋值,$inc -- 增加】

    db.collName.find()          查询所有记录
    db.collName.findOne()         查询第一条(相当于:db.userInfo.find().limit(1) )

    db.collName.find({“age”: 22})       查询记录-equal条件筛选
    db.collName.find({ name: 'raykaeso', age: 22})    查询记录-and条件筛选
    db.collName.find({$or: [{age: 22}, {age: 25}]})      查询记录-逻辑操作符条件筛选(逻辑操作符:$or、$and、$not)
    db.collName.find({ age: {$gt: 22} })          查询记录-比较操作符条件筛选(比较操作符:$gt、$gte、$lt、$lte、$eq、$ne)
    db.collName.find({ age: {$gte: 25 }}).count()      查询记录-匹配符条件筛选-记录条数
    db.collName.find({ name: /^A/ })           查询记录-regexp条件筛选

    db.collName.find({name: /mongo/})     模糊查询(相当于%%)
    db.collName.distinct("name")         去重查询

    db.collName.find().sort({age: 1})        查询记录-排序(升序)
    db.collName.find().sort({age: -1})       查询记录-排序(降序)
    db.collName.find().limit(5)           查询记录-限制返回的记录条数
    db.collName.find().skip(10)         查询记录-跳过n条数数据
    db.collName.find().limit(10).skip(5)      查询记录-限制&跳过

    db.collName.find({}, {name: 1, age: 1})         查询-返回指定字段
    db.collName.find({age: {$gt: 25}}, {name: 1, age: 1})   查询-返回指定字段 

    组合处理:查询、排序、修改、删除
    db.collName.findAndModify({
      query: {age: {$gte: 25}},
      sort: {age: -1},
      update: {$set: {name: ‘a2′}, $inc: {age: 2}},
      remove: true
    })

 

 

7. node.js 与 mongoDB 的  交互

详见下一节 “node/expressjs 连接与操作 MongoDB

 

 

 

 

 

 

翻译

搜索

复制

标签:mongoDB,age,collName,db,数据库,简介,查询,find
From: https://www.cnblogs.com/bky419/p/18413316

相关文章

  • Docker 运行 MongoDB
    Docker运行MongoDB实验环境宿主机:CentOSStreamrelease9Docker:DockerEngine27.3.1MongoDB:7.0.14Mongosh;2.3.1配置文件mongod.conf[karma@localhostkarmamongodb]$catmongod.conf|grep-vE"#|^$"storage:dbPath:/var/lib/mongodbsystemLog:des......
  • XOR 加密简介
    XOR加密简介作者: 阮一峰日期: 2017年5月31日本文介绍一种简单高效、非常安全的加密方法:XOR加密。一、XOR运算逻辑运算之中,除了 AND 和 OR,还有一种 XOR 运算,中文称为"异或运算"。它的定义是:两个值相同时,返回false,否则返回true。也就是说,XOR可以用来判断两个值......
  • MongoDB 双活集群在运营商的实践
    在现代电信行业中,订单中心作为核心业务系统之一,承担着处理客户订单、管理订单状态、与各个业务系统进行交互等重要职责。其订单中心的高效运作直接关系到客户体验和业务连续性。为了满足不断增长的业务需求和日益复杂的运营环境,运营商需要自身的订单中心架构具备高可用性及强大的......
  • Navicat连接Mongodb成功了,但是无法显示数据库怎么办?
    不知道你是否遇到过?Navicat连接Mongodb成功了,但是无法显示数据库怎么办?解决办法这个问题比较坑,对于第一次接触的小伙伴,可能会一脸懵逼,原因就是在Navicat中默认会不显示隐藏的项目,如果不手动勾选上,就无法显示,勾选之后,下次就不用重复勾选了。......
  • Spring Cloud全解析:服务调用之OpenFeign简介
    OpenFeign简介OpenFeign是SpringCloud对于Feign进行的再次封装,使其支持了SpringMVC的标准注解以及HttpMessageConverters依赖<!--openFeign--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign<......
  • 强大的云监控工具-VictoriaMetrics简介
    前言:在我们这里,所采用的云监控平台乃是二次开发后的VictoriaMetrics。而与之搭配的web页面则是经过精心二次开发的夜莺,其页面设计更美观、可视度极高,监控项更加丰富多样且趋于完善,极具细节,以下是对VictoriaMetrics的简介。VictoriaMetrics是一个高性能、成本效益高且可扩展......
  • Qcom底层WIFI驱动简介(一)
    前言前面以一些基本的WIFI操作为例子,讲解了上层的一些流程调用,这篇开始讲讲底层驱动的一些基本流程。包括驱动是如何初始化的,以及STR相关的驱动处理等。一、CNSS2驱动简介先从串口看一下编译出来的模块,在/vendor_dlkm/lib/modules路径下,可以看到以下相关ko模块:-rw-r--......
  • Git 简介和基本使用方法
    什么是Git?Git是一个分布式版本控制系统,由LinusTorvalds于2005年创建。它设计用于管理和跟踪文件的变更,适用于各种规模的项目,从个人项目到大型开源项目。Git可以记录每个文件的修改历史,并且能够轻松地在不同版本之间进行切换。它还支持多人协作开发,可以方便地合并不同开发者的......
  • 无源蜂鸣器简介
        无源蜂鸣器是一种电子发声元件,主要由永磁体、线圈、振荡片和外壳等组成。它没有内置的振荡源,需要外部输入一定频率的信号才能发声。一、工作原理:    无源蜂鸣器的工作原理是利用电磁感应现象,为音圈接入交变电流后形成的电磁铁与永磁铁相吸或相斥而推动振膜......
  • 代码管理系统简介与部署git、gitHub、gitLab
            在开发一个项目时,如果只有几十行代码或几百行代码时维护还算简单,但是当代码数量达到一定程度或两三个人共同开发一个项目时,就很容易会出现代码混乱、冲突、排错难等问题。当代码编写完成以后发现整个项目运行不了时,提交的代码也无法确认到责任人,导致维护项目时......