首页 > 数据库 >MongoDB一

MongoDB一

时间:2023-10-14 23:31:42浏览次数:33  
标签:name MongoDB age db 名称 集合 find


MongoDB的引言

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 Nosql 技术门类 redis 内存型 mongodb 文档型

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。


MongoDB的特点

  • 面向集合存储,易存储对象类型的数据
  • 支持查询,以及动态查询
  • 支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言
  • 文件存储格式为BSON(一种JSON的扩展)
  • 支持复制和故障恢复和分片


MongoDB的安装和使用

  1. 下载mongoDB的安装包(最新版本3.6,只能在64位系统安装)这里使用的3.0.6版本
  2. 上传至linux系统中解压当前的linux系统
  3. 将解压的文件为了方便目录进行重命名(这步可以跳过)
  4. 进入mongodb的文件夹中查看目录
  5. 在bin目录中存在大量mongodb使用的命令
  6. 启动mongoDB数据库服务./mongod --port 27017 --dbpath /root/data

注意:

启动时要求存放数据的目录必须存在

默认的端口号是27017 可以通过--port 指定端口启动

  1. 出现如下结果代表启动成功

MongoDB一_数据库



MongoDB的shell(客户端)操作

  1. 进入mongo的bin目录中找到如下指令
  2. 使用如下命令连接到mongodb的服务中

注意:

  1. 连接到mongodb后,mongo和mysql数据库有点像,先是一个一个库的概念,操作之前需要先选中库
  2. use 数据库名称

注意:

use命名 存在库使用当前库 不存在则创建当前库

  1. 显示创建集合“t_user”);
  2. 隐式创建集合创建集合同时添加元素
  3. db 命令显示当前库
  4. show collections;
  5. 向集合中插入数据db.集合名称.insert({name:'xiaohei',age:23,sex:true});
  6. 向集合中插入多条数据db.集合名称.insert([{name:'xiaohei',age:23,sex:true},...]);
  7. db.集合名称.remove({条件}) //删除满足条件的数据
  8. db.集合名称.remove({不加任何条件})//删除所有文档 保留空的集合
  9. db.集合名称.update({条件},{更新内容});
  10. db.集合名称.update({"name":"zhangsan"},{name:"11",bir:new date()}) --这个更新是将符合条件的全部更新成后面的文档,相当于先删除在更新
  11. db.集合名称.update({"name":"xiaohei"},{$set:{name:"mingming"}}) --保留原来的值修改,但是只更新符合条件的第一条数据
  12. db.集合名称.update({name:”小黑”},{$set:{name:”小明”}},{multi:true}) ---保留原来数据更新,更新符合条件的所有数据
  13. db.集合名称.update({name:”小黑”},{$set:{name:”小明”}},{multi:true,upsert:true}) ---保留原来数据更新,更新符合条件的所有数据 没有条件符合时插入数据
  14. db.t_user.update({name:"zhangsan"},{$inc:{age:1}},{upsert:true,multi:true}) --在保留原始数据同时给符合条件的所有age这列的值自增指定的大小

  15. db.集合名称.drop();
  16. db.集合名称.find();
  17. db.集合名称.find({条件})
  18. db.集合名称.find({条件},{显示字段,name:1,age:1}) 1 显示 0 不显示 1和0 不能混合出现
  19. 查询结果排序:db.集合名称.find().sort({条件name:1,age:1}), 1 升序 -1 降序
  20. 分页查询:db.集合名称.find().sort({条件}).skip(起始条数).limit(显示总记录数);
  21. 总条数:db.集合名称.count();|db.t_user.find({"name":"aa"}).count();
  22. 模糊查询:使用正则表达式db.集合名称.find({"name":/go/})
  23. 等值(==)查询张三"});
    db.user.find({name:{$eq:"张三"}});
  24. 且 ($and) 查询db.t_user.find({name:"zhangsan",age:12});
    db.t_user.find({$and:[{name:"zhangsan"},{id:10}]})
  25. $or使用:
  1. db.集合名称.find({
    $or:[
    {key:value},{age:{$gte:20}}
    ]
    });
  2. db.集合名称.find({“age”:{“$lte”:18,”$gte”:30}})
  3. db.t_user.find({$nor:[{name:"chenyn"},{age:26}]});
  1. $gt大于 $gte大于等于 $lt 小于 $lte 小于等于 $eq 等于:
  2. $nor查询使用
  1. 查看系统中默认的所有库show dbs;

注意:

默认只有一个local库

还有一个默认隐藏不可见的数据库

  1. 选中一个库
  2. 删除一个库db.dropDatabase();

注意: 选中那个库,删除的就是当前选中的库

  1. Mongodb的数据库中,库中是一个一个集合的概念,选中库后要创建一个一个的集合,集合类似于传统的关系型数据库中的表
  2. 查看mongo 中当前库
  3. 显示当前库中的所有集合
  4. Mongo中插入数据
  5. Mongo中的删除数据
  6. Mongo中的修改数据
  7. 删除集合
  8. 查询集合


  1. shell非正常关闭时,下次无法连接问题解决方案:
  1. 删除数据目录中的mongo.lock文件即可



标签:name,MongoDB,age,db,名称,集合,find
From: https://blog.51cto.com/lizp/7863885

相关文章

  • 轻松掌握组件启动之MongoDB:快速入门、Linux安装和Docker配置指南
    引言我们将继续深入研究组件启动专题。在之前的文章中,我们已经详细介绍了Redis的各种配置使用方法,为读者提供了全面的指导。然而,今天我们将转向另一个备受关注的数据库——MongoDB。MongoDB是一种流行的NoSQL数据库,具有强大的灵活性和可扩展性。在这篇文章中,我们将探索MongoDB的......
  • 【技术积累】《MongoDB实战》笔记(1)
    《MongoDB实战》笔记第一章为现代Web而生的数据库特性mongodb适合做水平扩展的数据库。mongodb把文档组织成集合,无schema。索引mongodb的二级索引是B树实现。每个集合最多可以创建64个索引,副本集mongodb通过副本集(replicationset)的结构提供了复制功能。副本集有一个主......
  • MongoDB 4.2 需关闭FlowControl流控机制
    MongoDB4.2版本引入了流量控制特性,用于保持副本集多数提交延迟不超过指定的最大值,从而确保数据的一致性和可靠性。如果复制延迟达到"flowControlTargetLagSeconds":10(秒),流量控制机制就会开始限制主节点上的写入操作。db.adminCommand({getParameter:1,"flowControlTargetL......
  • MongoDB 中的索引分析
    MongoDB的索引前言MongoDB使用B树还是B+树索引单键索引创建单键索引使用expireAfterSeconds创建TTL索引复合索引最左匹配原则ESR规则如何使用排序条件多键索引创建多键索引局限性哈希索引注意事项创建索引总结参考MongoDB的索引......
  • mongodb 安装测试
    昨天完成了mongodb的安装和测试    ......
  • MongoDB Node.js Driver and MongoClient All In One
    MongoDBNode.jsDriverandMongoClientAllInOneThenextgenerationNode.jsdriverforMongoDB$npmimongodb#OR$npmi-Smongodb#OR$npminstallmongodb--savehttps://mongodb.github.io/node-mongodb-native/index.htmlhttps://www.mongodb.com......
  • MongoDB可视化管理工具-MongoDB Compass【转】
    一、引言在使用MongoDB过程中,如果单单依靠命令行操作MongoDB数据库,效率不高而且查看不方便。因此MongoDB官网提供的一个可视化管理工具,叫MongoDBCompass,它集创建数据库、管理集合和文档、运行临时查询、评估和优化查询、性能图表、构建地理查询等功能为一体,很方便。二、......
  • MongoDB常用查询
    1.数据库数据说明#集合:school#文档:stu#结合字段:id,学号、姓名、电话、性别、年龄、学历、备注#初始化20条数据useschoolfor(varnum=1;num<=20;num++){db.stu.insert({id:num,no:"SN"+num,name:"name"+num,tel:"111......
  • MongoDB基础知识
    1.简介MongoDB官方文档菜鸟教程1、NoSQL(NotOnlySQL),不仅仅是SQL,主要是指非关系型数据库,是对不同与传统的关系型数据库的数据管理系统的统称2、NoSQL用于超大规模数据的存储,这些类型的数据存储吧需要固定的模式,无需多余的操作就可以横向扩展1.2NoSQL和RDBMS的区分......
  • MongoDB下载安装入门
    MongoDB下载安装入门一.MongoDB下载安装mongodb官网下载不了,MongoDB下载、安装、配置、使用,如何下载MongoDB数据库,MongoDB入门-CSDN博客按照文章一→六:安装,下载,环境变量配置等等MongoDBv4.2版安装目录:C:\ProgramFiles\MongoDB\Server\4.2\bin二.安全认证注意!!!一定要......