【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()

​​​​

相关推荐
观远数据3 分钟前
ChatBI选型对比:从意图识别到SQL修复,六个维度打分决定是否值得投产
数据库·人工智能·sql
嘉&年华6 分钟前
【第008篇】通过dexp和dimp命令导出和导入dmp文件(适用于达梦数据库)
数据库·sql
哥是强混2 小时前
Means:基于 .NET 10 打造的开源自部署 S3 兼容对象存储服务
网络·数据库·.net
ffqws_2 小时前
redis面试:如何保证双写一致
数据库·redis·缓存
水无痕simon2 小时前
6 数据库同义词
数据库
杜子不疼.3 小时前
【Qt初识】信号槽(三):机制意义、断开连接与 Lambda 表达式
开发语言·数据库·qt
BomanGe14 小时前
NSK W1501FA高速精密滚珠丝杠技术手册
数据库·经验分享·规格说明书
kiki-bf4 小时前
可用的mysql本地安装教程
数据库·mysql
多巴胺梦想家5 小时前
数据库恢复技术:当灾难来临
网络·数据库·oracle
北冥you鱼5 小时前
Go 语言初始化 MySQL 数据库实战指南:从零到生产环境部署
数据库·mysql·golang