【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.hqwc.cn/news/419324.html

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

相关文章

[C#]winform部署官方yolov8-rtdetr目标检测的onnx模型

【官方框架地址】 https://github.com/ultralytics/ultralytics 【算法介绍】 RTDETR,全称“Real-Time Detection with Transformer for Object Tracking and Detection”,是一种基于Transformer结构的实时目标检测和跟踪算法。它在目标检测和跟踪领域…

为了Atcoder系列复习C++语法

很久之前学过忘了 为了打比赛重新复习 每打一次就更一次 含日语内容 B - 1.01.出力とコメント 1.cout << 2525 << endl; 可以没有endl 结尾. endl作用是换行 2.整除问题 int情况下1/2无法变成0.5 所以1/2应该放在后面 100 * (100 1) / 2 3.f…

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

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

Find My卡片正成为消费电子香饽饽,伦茨科技ST17H6x可以帮到您

今年CES许多公司发布支持苹果Find My的卡片产品&#xff0c;这种产品轻薄可充电&#xff0c;放在钱包、背包或者手提包可以防丢查找&#xff0c;在智能化加持下&#xff0c;防丢卡片使得人们日益关心自行车的去向。最新的防丢卡片与苹果Find My结合&#xff0c;智能防丢&#x…

R2DBC-响应式数据库

简单查询 基于全异步,响应式,消息驱动 用法: 1.导入驱动:导入连接池(r2dbc-pool),导入驱动(r2dbc-mysql) 2. 使用驱动提供的api操作 pom.xml <properties><r2dbc-mysql.version>1.0.5</r2dbc-mysql.version> </properties><dependencies><d…

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

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

【cucumber】cluecumber-report-plugin生成测试报告

cluecumber为生成测试报告的第三方插件&#xff0c;可以生成html测报&#xff0c;该测报生成需以本地json测报的生成为基础。 所以需要在测试开始主文件标签CucumberOptions中&#xff0c;写入生成json报告。 2. pom xml文件中加入插件 <!-- 根据 cucumber json文件 美化测…

【llm 微调code-llama 训练自己的数据集 一个小案例】

这也是一个通用的方案&#xff0c;使用peft微调LLM。 准备自己的数据集 根据情况改就行了&#xff0c;jsonl格式&#xff0c;三个字段&#xff1a;context, answer, question import pandas as pd import random import jsondata pd.read_csv(dataset.csv) train_data data…

【开源】基于JAVA的CRM客户管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统设计3.1 用例设计3.2 E-R 图设计3.3 数据库设计3.3.1 客户表3.3.2 商品表3.3.3 客户跟踪表3.3.4 客户消费表3.3.5 系统角色表 四、系统展示五、核心代码5.1 查询客户5.2 新增客户跟踪记录5.3 新增客户消费订单5.4 查…

复现PointNet++(语义分割网络):Windows + PyTorch + S3DIS语义分割 + 代码

一、平台 Windows 10 GPU RTX 3090 CUDA 11.1 cudnn 8.9.6 Python 3.9 Torch 1.9.1 cu111 所用的原始代码&#xff1a;https://github.com/yanx27/Pointnet_Pointnet2_pytorch 二、数据 Stanford3dDataset_v1.2_Aligned_Version 三、代码 分享给有需要的人&#xf…

操作系统-操作系统体系结构(内核 外核 模块化 宏内核 微内核 分层结构)

文章目录 大内核与微内核总览操作系统的内核大内核与微内核的性能差异小结 分层结构与模块化与外核总览分层结构模块化宏内核&#xff0c;微内核外核 大内核与微内核 总览 操作系统的内核 操作系统的核心功能在内核中 对于与硬件关联程度的程序 由于进程管理&#xff0c;存…

L1-067 洛希极限(Java)

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