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

​​​​

相关推荐
向上的车轮9 分钟前
Django学习笔记二:数据库操作详解
数据库·django
编程老船长20 分钟前
第26章 Java操作Mongodb实现数据持久化
数据库·后端·mongodb
全栈师1 小时前
SQL Server中关于个性化需求批量删除表的做法
数据库·oracle
Data 3171 小时前
Hive数仓操作(十七)
大数据·数据库·数据仓库·hive·hadoop
BergerLee2 小时前
对不经常变动的数据集合添加Redis缓存
数据库·redis·缓存
gorgor在码农2 小时前
Mysql 索引底层数据结构和算法
数据结构·数据库·mysql
bug菌¹2 小时前
滚雪球学Oracle[6.2讲]:Data Guard与灾难恢复
数据库·oracle·data·灾难恢复·guard
一般路过糸.2 小时前
MySQL数据库——索引
数据库·mysql
Cengineering3 小时前
sqlalchemy 加速数据库操作
数据库
Cikiss3 小时前
微服务实战——平台属性
java·数据库·后端·微服务