【MongoDB】MongoDB入门(一)基本操作和常用命令

MongoDB简介及基本操作命令 MongoDB 不要求文档中的属性具有相同的数据类型或者结构。此图为简介,下面是详细介绍。 阅读详情

⭐️ 本文首发自 前端修罗场(点击加入),是一个由 资深开发者 独立运行 的专业技术社区,我专注 Web 技术、Web3、区块链、答疑解惑、面试辅导以及职业发展。博主创作的 《前端面试复习笔记》(点击订阅),广受好评,已帮助多人提升实力、拿到 offer。现在订阅,私聊我即可获取一次免费的模拟面试机会,帮你评估知识点的掌握程度,获得更全面的学习指导意见!

MongoDB安装

  • 1、下载安装(http://www.mongodb.org/downloads),安装目录:c:\MongoDB

  • 2、在 c:\MongoDB下新建 data\db 目录

  • 3、命令行运行服务端程序 mongod.exe:

C:\>cd C:\MongoDB\bin
C:\MongoDB\bin>mongod.exe --dbpath=C:\MongoDB\data\db --directoryperdb  --logpath=C:\MongoDB\data\logs --logappend
  • 4、新建命令行,运行客户端程序 mongo.exe (不要关闭 mongod.exe 这个命令行窗口)

MongoDB概念

  • databases: 数据库;

  • collections:表;(colloections 组成了 databases)

  • documents:行;(documents 组成了 collections)

MongoDB 没有新建数据库的命令,只要进行 insert 或其它操作,MongoDB 就会自动帮你建立数据库和 collection。当查询一个不存在的 collection 时也不会出错,Mongo 会认为那是一个空的 collection。

一个对象被插入到数据库中时,如果它没有 ID,会自动生成一个“_id”字段,为 12 字节(24位)16 进制数。
当然如果插入文档不带_id,则系统会帮你自动创建一个,如果自己指定了就用自己指定的。

命名

字段名限制:不能以“$”开头;不能包含“.”;“_id”是系统保留的字段,但用户可以自己储存唯一性的数据在字段中。

客户端语法:

  • show dbs // 列出所有数据库

  • use memo // 使用数据库 memo。即使这个数据库不存在也可以执行,但该数据库不会立刻被新建,要等到执行了insert等的操作时,才会建立这个数据库。

  • show collections // 列出当前数据库的collections(当前数据库下的表)

  • db // 显示当前数据库

  • show users // 列出用户

  • db.表名.insert({name:"jack",addr:"fujian"});//向表插入字段

  • db.表名.find(); //查询-作用相当于 select * from 表名

查询数据
  • $lt ->less then 小于

  • $lte ->less than and equal 不大于

-$lt ->less then 小于

  • $gt ->greater then 大于

  • $gte ->greater then and equal 不小于)

  • $ne ->not equal 不等于

db.foo.find() // select * from foo
db.foo.find().limit(10)  // select * from foo limit 10
db.foo.find().sort({x:1})  // select * from foo order by x asc  1:升序  -1:降序 
db.foo.find().sort({x:1}).skip(5).limit(10)  // select * from foo order by x asc limit 5, 10
db.foo.find({x:10})  // select * from foo where x = 10
db.foo.find({x: {$lt:10}})  // select * from foo where x <= 10
db.foo.find({}, {y:true})  // select y from foo
// 一些SQL不能做的,MongoDB也可以做:
db.foo.find({"address.city":"gz"})  // 搜索嵌套文档address中city值为gz的记录
db.foo.find({likes:"math"})  // 搜索数组
db.foo.ensureIndex({"address.city":1})  // 在嵌套文档的字段上建索引
更新数据
  • db.foo.update({},{}) //更新对象,第一个参数是查询对象,第二个是替代的,可以在第二个对象里指定更新哪些字段,要使用 s e t 。 " set。" set。"set"用来指定一个键的值。如果这个键不存在,则创建它,如果存在则更新

db.foo.update({name:"jack"},{$set:{name:"zky"}});

删除记录
  • db.foo.remove({});/ /第一个参数要删除的记录,只删除匹配的对象
删除数据库表
  • db.foo.drop(); //删除foo这个表
删除当前数据库
  • db.dropDatebase();
字段操作
  • $push:增加数组元素;

db.foo.update({name:'xxx'},{$push:{age:"10"}});

  • $pop:减少数组元素;

  • $or,$and和$exists

db.people.find({"name":"yhb",$or:[{"age":18},{"age":20}]}) //找出name为yhb,age为18或者20的;

db.people.find({"addr":{$exists:false}}) //找出不存在addr field

db.people.find({$or:[{"name":"yhb","age":18},{"name":"lwy","age":19}]})
// 找出 people 中 name 为 yhb,年龄为 18,或者 name 为 lwy,name 为 19 的

小结

如果是or: ->> {$or:[{条件1},{条件2}]}
如果是 and: ->> {$and:[{条件1},{条件2}]}

索引
db.foo.ensureIndex({productid:1})  // 在productid上建立普通索引

db.foo.ensureIndex({district:1, plate:1})  // 多字段索引

db.foo.ensureIndex({productid:1}, {unique:true}) // 唯一索引

备份与恢复

(1)、备份工具 mongodump;

命令行执行:

c:\MongoDB\bin\mongodump.exe --help 查看帮助命令

示例-备份数据库:

命令行执行:

c:\MongoDB\bin\mongodump -o ../data/backup/test (备份数据到backuo/test目录下)

(2)、恢复数据 mongorestore:

示例-恢复数据库:

命令行执行:

c:\MongoDB\bin\mongorestore -d test -c t002 c:\MongoDB\data\backup\test\t002.bson

数据 导入& 导出

每次只导入\导出一个表,json或csv格式;

(1)、导入 mongoimport

示例:

mongoimport -d test -c t004 drop c:\MongoDB\data\backup\test_t001.json

(2)、导出 mongoexport

示例:

mongoexport -d test -c t001 -o c:\MongoDB\data\backup\test_t001.json

安全与认证

MongoDB本身是没有开启安全性检查的,在开启之前,需要至少一个管理员账号。

开启安全性检查,只有数据库认证用户才能执行读或写的操作。

增加用户

注:V3版本mongoDB已经不再使用addUser,而是采用了db.createUser;

示例:

use admin

db.createUser(
   {
     user: "accountUser",
     pwd: "password",
     roles: [ "readWrite", "dbAdmin" ]
   }
)

对用户开启安全认证

1、重启客户端与服务器;

2、然后切换到客户端命令行:

use admin

db.auth("root","root")

这样,某种权限的用户只有切换到对应的数据库才能执行某些操作。

参考

http://www.open-open.com/lib/view/open1335003001358.html

http://www.runoob.com/mongodb/mongodb-tutorial.html

MongoDB可视化客户端工具

MongoDB 快速入门 传统的关系型数据库(如MySQL),在数据操作的“三高”需求以及应对Web2.0的网站需求面前,显得力不从心。解释:“三高”需求:• High performance - 对数据库高并发读写的需求。• Huge Storage - 对海量数据的高效率存储和访问的需求。• High Scalability && High Availability- 对数据库的高可扩展性和高可用性的需求。而MongoDB可应对“三高”需求。 阅读详情

相关推荐

redis和mongodb数据库的基本操作

(1) 设置一个hash表,order表里包括的键值信息有:id:1,customer_name:张三。增加分数域 score:{'chinese':88,'english':78,'math':98}(3)将name列表的尾部元素移除到number列表的头部。(2) 创建一个hash表,表里的键值批量插入。(3) 获取order对应的map的所有key。(4) 获取order对应的map的键值数量。(2)将列表city里的头部的元素移除。(4) 对一个已存在的列表插入新元素。

m0_69435261的博客 465

MongoDB的基本操作

MongoDB的基本操作1 连接数据库2 创建数据库3 查看数据库4 删除数据库5 创建/删除/显示集合6 插入文档7 更新文档8 查询文档9 删除文档 1 连接数据库 输入cmd,打开命令提示符窗口,输入mongo,进入数据库。 mongo 2 创建数据库 操作语句: use DATABASE_NAME DATABASE_NAME为数据库名字,如果该数据库存在,就切换到该数据库;如果该数据库不存在,则创建该数据库。 3 查看数据库 操作语句: show dbs 该命令可以查看有哪些数据库。但是

橘猫吃不胖的博客 6226

python-snap7 报错:can‘t find snap7 library. If installed, try running ldconfig

1、使用场景: Python 读取西门子 S7 系列 PLC 信息,会用到 snap7 库,网上也有很多案例。但是,运行时会报错:can't find snap7 library. If installed, try running ldconfig 2、解决方案: A、下载项目需要依赖的 dll、lib 文件: i、Sourceforge下载:https://sourceforge.net/projects/snap7/files/ ii、优快云下载(免费):https://dow.

蜡笔小新历险记的博客 3646

技术工具类:RPM方式在Linux系统安装 MongoDB数据库

本Linux系统为 centos 7.x 1、去官网下载 rpm资源文件 https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/RPMS/mongodb-org-server-4.0.18-1.el7.x86_64.rpm https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/RPMS/mongodb-org-shell-4.0.18-1.el7.x86_64.rpm

小语一天 1256

Kalibr标定避坑指南:如何用AprilGrid板快速完成双目IMU标定

本文详细介绍了使用AprilGrid板进行Kalibr双目IMU联合标定的实战技巧,包括标定工具选型、数据采集优化、标定流程及结果验证。通过AprilGrid板的唯一标识性和抗遮挡优势,结合IMU静止标定和运动激励设计,显著提升标定精度。文章还提供了常见报错处理和高级优化技巧,帮助开发者高效完成传感器标定。

sunny的博客 279

微带功分器设计与ADS-EM联合仿真实战解析

本文详细解析了微带功分器设计与ADS-EM联合仿真的实战技巧,涵盖特性阻抗计算、ADS原理图设计、版图生成与EM仿真等关键步骤。通过实际案例分享,帮助工程师掌握射频电路设计中的核心技术和调试方法,提升功分器设计效率与性能。

weixin_29280219的博客 449

mongodb

mongodb

qq_36697948的博客 4137

《通信工程施工与管理》

制作馈线接头必须使用专用的工具,专用工具包括:馈线切割刀、馈线安全刀、小金属丝毛刷、固定尺寸或大号活动扳手、小号扁锉刀、细齿小手锯、接头扩孔器、3M防水胶或防水接头盒;如图所示,详情如表所示。

2302_78710464的博客 1653

Mongodb的基本使用

mongodb基本操作

jks212454的博客 4245

手把手教你用海康威视相机+DLP4500搭建双目结构光系统(附避坑指南)

本文详细介绍了如何使用海康威视相机和DLP4500搭建双目结构光三维测量系统,涵盖硬件选型、系统搭建、双目标定及三维重建等关键步骤。特别针对预算有限的开发者和实验室团队,提供实用的避坑指南和优化技巧,帮助实现0.02mm的高精度测量。

weixin_42526087的博客 461

STM32开发实战--解决STM32CubeMX生成代码时钟初始化卡死问题

本文详细分析了STM32CubeMX生成代码在时钟初始化阶段卡死的问题,提供了多种解决方案,包括简单修改和稳健的等待机制。通过深入探讨HAL库的时钟初始化陷阱及硬件层面的根本原因,帮助开发者快速定位并解决STM32开发中的常见问题。

weixin_26965807的博客 437

mongodb基本操作方法

一、mongodb简介mongodb属于文档型数据库,储存的是文档(Bson->json的二进制化)。我们熟知的MYSQL数据库,它的数据是以表的形式储存的,每条记录都具有相同的结构,这样使得查询起来很方便,但是却增加了空间的压力;文档型数据库如mongodb,其数据是以一条条文本的形式储存,每条数据不需要有相同的结构,这使得具有了良好的灵活性。同时,假如有书籍、书评、书评的回复等信息,如果将这些信

jessionlin的博客 4545

DataX对接数据如何在ODS加密脱敏数据(插件开发)

datax对接mysql数据,对姓名只保留姓,名变成**。对这种简单的脱敏,可以不用修改datax源码,直接在配置文件上实现。

大模型大数据攻城狮的专栏 990

MongoDB——》在linux上的基本操作

MongoDB在linux上的基本操作一、登录二、数据库操作1.查看数据库版本2.查看数据库状态3.查看所有数据库4.查看当前数据库5.切换数据库6.查看当前数据库的所有集合三、集合操作1.查询 一、登录 登录 mongo 二、数据库操作 1.查看数据库版本 db.version() 2.查看数据库状态 db.stats() 3.查看所有数据库 show dbs 4.查看当前数据库 d...

小仙~ 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

MongoDB 数据库基本操作

MongoDB 数据库基本操作初识 MongoDB启动 MongoDBDOS(Windows)端启动 MongoDB 服务help 帮助文档关闭 MongoDB 服务1. 数据库创建删除数据库2. 创建集合查询集合3. 文档操作插入文档更新文档条件查询删除文档数据 初识 MongoDB 启动 MongoDB DOS(Windows)端启动 MongoDB 服务 配置环境变量 在电脑->属性->环境变量->Path中添加 MongoDB 安装路径(根据自己的安装路径添加) 启动服务并进行相

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 4749

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

MongoDB从入门到实战之MongoDB工作常用操作命令

上一章节我们快速的在Docker容器中安装了MongoDB,并且通过Navicat MongoDB可视化管理工具快速的连接、创建数据库、集合以及添加了文档数据源。这一章节我们主要是了解一下在日常工作中MongoDB一些常用的操作命令。

专注于C#/.NET/.NET Core学习、工作、面试干货和实战教程分享。这里聚焦了大量的C#/.NET/.NET Core优质文章、开源项目、实用工具和学习、工作、面试心得。 1528

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

一、MongoDB安装与基本操作

MongoDB快速理解

Backend Engineer API Integration | System Design | Architecture Growth 641

MongoDB 入门使用教程

本教程涵盖了 MongoDB 的基本使用操作,包括数据库、集合、文档的增删改查,常用查询操作符,以及如何创建索引和进行聚合操作。MongoDB 提供了灵活的数据存储结构,适用于需要快速开发和高效存储的大数据应用。随着你对 MongoDB 的深入了解,你可以尝试更多高级功能,如复制集、分片、事务等。如果你是 MongoDB 的初学者,建议通过实践加深理解并使用 MongoDB 的官方文档进行更详细的学习。更多资源MongoDB 官方文档MongoDB 入门教程希望这篇教程能帮助你快速上手 MongoDB!

zru_9602的博客 1832

MongoDB安装和入门_mongodb4

在下载页面中可以看到另一个叫作 Studio 3T 的软件,它是一个功能更加强大的MongoDB图形化管理软件,但它是一个商业软件,需要收费,而Robo 3T是开源软件并且免费,它的功能足够应付本书的所有应用场景,因此本文选择使用Robo 3T。高性能、可扩展的数据库变得越来越重要起来,在这样的场景下,非关系型数据库(NoSQL)应运而生,这里的“NoSQL”不是“NoSQL(不是SQL)”,而是“Not only SQL(不仅是SQL)”的简称。提示:“能不能做”是一回事,“应不应该做”是另一回事。

2401_84140832的博客 1286

MongoDB基础【常用命令】入门

        上一篇博客为大家带来了MongoDB基础【概念】入门。这一篇博客,将为大家带来关于MongoDB的基础命令! 文章目录1. 创建自定义数据库2.查看数据库列表3.统计数据库信息4.删除数据库6.查看数据库用户角色权限7.创建集合(插入多条数据见说明) 1. 创建自定义数据库 use database...

大数据梦想家 9376

实验一MongoDB基本操作

安装Windows版MongoDB 使用MongoDB对数据进行增删改查操作 比较有无索引时的查询性能

weixin_44445088的博客 2009

Mongodb常用命令+docker常用命令解析+Mysql基本操作和语法+Navicat的基本使用及常见报错

docker常用命令解析+Mysql基本操作和语法+Navicat的基本使用及常见报错

RuanFun的博客 811

mongodb 的服务启动和基本操作命令

一、在操作前需要启动mongodb数据库服务1.首先打开dos窗口,然后选择路径到你的安装路径下的bin目录(我的路径是的D:mongo\mongodb\bin)2.然后输入启动命令(D:mongo\data\db 是我的数据库文件的目录前边两个 – 不能少)  mongod --dbpath D:mongo\data\db  3.回车dos界面出现 12701 的字样说明服务启动成功了如图所示 ...

x279114012的博客 1035

MongoDB 介绍和基本操作

MongoDB 介绍和基本操作

分享我的点点滴滴,在成长路上与你同行! 1624
上一篇: 【Javascript】闭包之块级作用域
下一篇: 整理了一份 Javascript 代码书写规范
蟹蟹蟹风流
蟹蟹蟹风流 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域 领域专家: 前端开发技术领域 领域专家: 前端开发技术领域
博客等级 码龄11年 3万+粉丝 396原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蟹蟹蟹风流

期望和你分享一杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值