【MongoDB】下载安装、指令操作

目录

1.下载安装

2.指令

2.1.基础操作指令

2.2.增加

2.3.查询

2.4.修改

2.5.删除


前言:

关于MongoDB的核心概念请移步:

【文档数据库】ES和MongoDB的对比-CSDN博客

1.下载安装

本文以安装Windows版本的mongodb为例,Linux版本的其实也差不多。

下载地址:

Try MongoDB Atlas Products | MongoDB

环境变量:

MongoDB_HOME=E:\MongoDB

path: %MongoDB_HOME%\bin

数据存储位置:

MongoDB默认的数据存放位置为C盘下面的data文件夹下的db,所以要在C盘下面创建一个名叫data的文件夹,再在该文件夹下面创建一个db文件夹。

修改数据存储位置:

mongod --dbpath 路径

注意:如果将MongoDB设置成自启动服务以后,需要在mongo.cfg文件中修改路径配置才会生效。

端口:

默认为27017

修改端口号

mongod –dbpath 路径 –port 端口号

将MongoDB设置为系统服务,可以在后台启动,不需要每次都手动启动。

官方文档地址:

https://docs.mongodb.com/v3.4/tutorial/install-mongodb-on-windows/

按官方文档配置好以后执行以下命令:

sc.exe create MongoDB binPath= "\"E:\MongoDB\bin\mongod.exe\" --service --config=\"E:\MongoDB\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"

然后在服务中启动服务:

2.指令

2.1.基础操作指令

显示当前服务器中所有数据库:

show dbs(或者databases)

进入数据库:

use 数据库名

查看当前所在数据库:

db

查看当前数据库有几个集合:

show collections

2.2.增加

插入一个db. testcollection.insertOne({name:"zou"});

插入多个db.testcollection.insert([{name:"chen"},{name:"zhou"}])

3.2版本以后新增了insertOne用来插入一个,insertMany用来插入多个。

注意:如果新插入数据时没有声明_id属性,MongoDB会根据时间戳和机器码为每个文档自动创建一个_id。_id为文档的唯一标识。

2.3.查询

查询所有:

db.test.find();

{ "_id" : ObjectId("5d33173bfdc793a0d1ba2072"), "name" : "zou" }

条件查询:

db.testcollection.find({name:"zou"})

可以加索引来指定,返回数组中的第几个文档

db.testcollection.find({name:"zou"})[0]

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

db.testcolection.findOne({条件});

查询单个属性:

db.testcollection.findOne({name:"zou"}).name

db.testcollection.find({name:"zou"})[0].name

返回数量:

db.testcollection.find({name:"zou"}).count();

db.testcollection.find({name:"zou"}).length();

2.4.修改

MongoDB的update不仅可以用来修改已存在的属性还可以用来追加新属性。

update默认修改匹配到的第一个,updateMany用来修改所有匹配。

第一个参数为条件,第二个参数为要改的属性。

db.testcollection.update({name:"zou"},{age:23})

update默认是用新对象替换原来的对象,而不是只是修改单个属性。

如果要修改单个属性值,需要使用系统操作符,常用的是$set,要修改哪个属性就在那个属性前面用$set修饰。

db.testcollection.update({name:"zhou"},{$set: {age:23}})

用$unset来删除属性:

db.testcollection.update({name:"zhou"},{$unset: {age:23}})

2.5.删除

删除文档:

db.testcollection.remove(条件);

db.testcollection.deleteOne(条件);

db.testcollection.deleteMany(条件);

删除集合:

db.集合名称.drop()

删除数据库:

如果文档为空,集合会自动删除,同理,如果集合为空,数据库也会自动删除。

db.dropDatabase()

​​​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/637424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三、arcgispro二次开发创建第一个工程

忙了几天,总算可以创建第一工程了。 步骤一: 步骤二: 工具介绍: 项目创建成功:项目目录在解决方案资源管理器中,整个工具都是动态可调整的,如下图: 想把窗口放哪里就把鼠标移到红…

Linux重定向:深入理解与实践

🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:晴る—ヨルシカ 0:20━━━━━━️💟──────── 4:30 🔄 ◀️ ⏸ ▶️ ☰ &…

RHEL - 更新升级软件或系统

《OpenShift / RHEL / DevSecOps 汇总目录》 文章目录 小版本软件更新yum update 和 yum upgrade 的区别升级软件和升级系统检查软件包是否可升级指定升级软件使用的发行版本方法1方法2方法3方法4 查看软件升级类型更新升级指定的 RHSA/RHBA/RHEA更新升级指定的 CVE更新升级指定…

L1-069 胎压监测(Java)

小轿车中有一个系统随时监测四个车轮的胎压,如果四轮胎压不是很平衡,则可能对行车造成严重的影响。 让我们把四个车轮 —— 左前轮、右前轮、右后轮、左后轮 —— 顺次编号为 1、2、3、4。本题就请你编写一个监测程序,随时监测四轮的胎压&…

Java中的包、类、接口说明

写在开头 包、类、接口、方法、变量、参数、代码块,这些都是构成Java程序的核心部分,即便最简单的一段代码里都至少要包含里面的三四个内容,这两天花点时间梳理了一下,理解又深刻了几分。 Java中的包 Java 定义了一种名字空间,称之为包:package。一个类总是属于某个包…

Servlet系列:两种创建方式(xml,注解)

一、使用web.xml的方式配置(Servlet2.5之前使用) 在早期版本的Java EE中,可以使用XML配置文件来定义Servlet。在web.xml文件中,可以定义Servlet的名称、类名、初始化参数等。然后,在Java代码中实现Servlet接口&#x…

wayland(xdg_wm_base) + egl + opengles 最简实例

文章目录 前言一、ubuntu 下相关环境准备1. 获取 xdg_wm_base 依赖的相关文件2. 查看 ubuntu 上安装的opengles 版本3. 查看 weston 所支持的 窗口shell 接口种类二、xdg_wm_base 介绍三、egl_wayland_demo1.egl_wayland_demo2_0.c2.egl_wayland_demo3_0.c3. xdg-shell-protoco…

Chatopera 云服务支持大语言模型对话(LLM),定制您的聊天机器人

2024 年,Chatopera 云服务继续不断完善,为开发者提供最好的定制聊天机器人的工具。在过去的一年,用户们反映最多的建议是 Chatopera 云服务内置大语言模型的对话,今天 Chatopera 云服务完成了产品升级,满足了这个诉求。…

HCIP-BGP选路实验

一.实验拓扑图 二.详细配置 R1 interface GigabitEthernet0/0/0 ip address 12.1.1.1 255.255.255.0interface LoopBack0 ip address 1.1.1.1 255.255.255.0interface LoopBack1 ip address 10.1.1.1 255.255.255.0bgp 1 router-id 1.1.1.1 peer 12.1.1.2 as-number 2ipv4-fa…

0基础开发EtherNet/IP:协议格式,JAVA、C#、C++处理

经过一阵倒腾,把CIP、Ethernet/ip协议搞到手 协议的概念和理论就不提及了,上网随便一搜索EtherNet/IP遍地都是。 直接将协议关键点列举出来吧。 更多协议资料 www.jngbus.com 通讯软件群 30806722 这里讲解的是TCP和UDP协议的格式,EtherN…

如何本地部署虚拟数字克隆人 SadTalker

环境: Win10 SadTalker 问题描述: 如何本地部署虚拟数字克隆人 SadTalker 解决方案: SadTalker:学习逼真的3D运动系数,用于风格化的音频驱动的单图像说话人脸动画 单张人像图像🙎 ♂️音频&#x1f3…

伊恩·斯图尔特《改变世界的17个方程》傅里叶变换笔记

主要是课堂的补充(yysy,我觉得课堂的教育模式真有够无聊的,PPT、写作业、考试,感受不到知识的魅力。 它告诉我们什么? 空间和时间中的任何模式都可以被看作不同频率的正弦模式的叠加。 为什么重要? 频率分量…

【图解数据结构】顺序表实战指南:手把手教你详细实现(超详细解析)

🌈个人主页:聆风吟 🔥系列专栏:图解数据结构、算法模板 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 一. ⛳️线性表1.1 🔔线性表的定义1.2 🔔线性表的存储结构 二. ⛳️顺序表…

论文阅读_CogTree_推理的认知树

英文名称: From Complex to Simple: Unraveling the Cognitive Tree for Reasoning with Small Language Models中文名称: 从复杂到简单:揭示小型语言模型推理的认知树链接: http://arxiv.org/abs/2311.06754v1代码: https://github.com/alibaba/EasyNLP作者: Junbi…

OpenCompass大模型测评

一、笔记 为什么大模型需要开展测评? 大模型测评有以下原因: 1、让普通用户了解大模型的能力和特点,选择合适的大模型 2、让开发者了解大模型的能力边界,找到提升的地方 3、让管理机构更了解大模型,减少大模型带来的社会风险 …

为vs code配置unity开发环境

1.安装.NET.Core SDK 我们可以访问官网下载安装SDK及tool(https://www.microsoft.com/net/download/core)下载。有的系统只提供了执行文件,没有提供安装包,需要自己做一些配置。 下载好对应的版本就可以安装了,安装好以…

Video 不支持微信小程序的show-bottom-progress属性

原文地址:Video 不支持微信小程序的show-bottom-progress属性-鹭娃网络 相关平台 微信小程序 小程序基础库: 2.20.1使用框架: React 复现步骤 import { Video} from tarojs/components; 渲染一个Video播放视频,无法隐藏手机屏幕最底部的进度条&#…

【JavaEE】文件操作与IO

作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文于《JavaEE》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造&…

L1-067 洛希极限(Java)

科幻电影《流浪地球》中一个重要的情节是地球距离木星太近时,大气开始被木星吸走,而随着不断接近地木“刚体洛希极限”,地球面临被彻底撕碎的危险。但实际上,这个计算是错误的。 洛希极限(Roche limit)是一…

【SpringCloud】微服务框架后端部署详细过程记录20240119

前言:前两天公司接到客户提供的一个微服务框架,导师让我在本地部署验证一下该框架的可用性,借此机会记录一下微服务项目的一个基本部署流程,仅供学习参考,如有不足还请指正! 文件结构 提供的压缩文件共包含…