MongoDB(WINDOWS) 1.下载安装包:下载地址 2.解压到一个没有中文路径或特殊字符的目录 3.在安装目录创建用于存放数据的 data\db 文件夹 4.启动 启动命令位于bin目录下,输入cmd,在cmd窗口输入下列命名启动 mongod.exe --dbpath=…\data\db(启动窗口不关闭) 出现27017端口 另外打开窗口启动mongodb Mongo.exe 启动 进入交互模式
在浏览器27017端口查看mongodb是否启动成功
MongoDB(linux) 1.在官网上下载安装文件,上传,解压 2.重命名 3.在mongodb文件夹中创建一个空文件夹,用来存储以后的数据库的数据 4.配置mongodb,编辑etc下的profile文件,加入一条指令
export PATH=$PATH:$/opt/mongodb4.2.6/bin(注意:写自己的路径)5.刷新环境变量 6.在opt/mongodb4.2.6目录下新建名为mongodb.conf的配置文件
[ root@master mongodb4.2.6]# vi mongodb . conf port=27017 dbpath= / opt/ mongodb4.2.6/db logpath= /opt/mongodb4.2. 6/mongodb. 1og logappend=t rue fork=false maxConns=100 noauth=true journal=true storageEngine=wiredTiger bind_ip = 0.0.0.0配置文件参数配置说明: port=27017 #端口 dbpath= /usr/mongodb/db #数据库存文件存放目录 logpath= /usr/mongodb/mongodb.log #日志文件存放路径 logappend=true #使用追加的方式写日志 fork=false #杯以守护程序的方式启用,即不在后台运行 maxConns=100并最大同时连接数 noauth=true #不启用验证 journal=true #每次写入会记录一条操作日志 (通过journal可以重新构造出写入的数据)。 #即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点, 然后重放后续的journal日志来恢复。 storageEngine=wiredTiger #存储引擎有mmapv1. wiretiger. mongorocks bind_ ip=0.0.0 #这样就可外部访问了,例如从wn10中去连虚拟机中的MongoDB
7.输入启动命名,之后光标会卡住,证明成功
[ root@master bin]# /opt/mongodb4.2.6/bin/mongod --config / opt/mongodb4.2.6/ mongodb . conf8.启动命令/opt/mongodb4.2.6/bin/mongo
增删改查
1.创建/切换数据库(如果不存在,则会创建)
>use test switched to db test显示所有的数据库
>show dbs显示当前数据库
>db test2.创建集合(相当于创建数据库中的表)
>db.createCollection("student") {"0k":"1"}显示所有的集合
>show table student3.增
>db.student.insert({"name":"张一","age":21,"sex":"男","class":"计算机2班"}) writeResult({"nInserted":"1"}) >db.student.insert({"name":"李二","age":20,"sex":"女","class":"计算机1班"}) writeResult({"nInserted":"1"})里面的key-value不用保持一致
>db.student.insert({"name":"张三","age":20,"sex":"男","class":"计算机3班","phone":12345678912}) writeResult({"nInserted":"1"}) >db.student.insert({"name":"李四","age":22,"sex":"女","class":"计算机3班","phone":12344673529}) writeResult({"nInserted":"1"})同时插入多条数据
>db.student.insert([{"name":"王五","age":19,"sex":"女","class":"计算机2班"},{"name":"章六","age":22,"sex":"男","class":"计算机2班"}]) BulkWriteResult({ "writeErrors ":[], "writeConcernErrors" : [ ], "nInserted" :2, "nUpserted":0, "nMatched" : 0, "nModified" : 0, "nRemoved":0, "upserted" :[] }) >db.student.insert([{"name":"杨七","age":18,"sex":"男","class":"计算机1班"},{"name":"刘八","age":21,"sex":"男","class":"计算机1班"}]) BulkWriteResult({ "writeErrors ":[], "writeConcernErrors" : [ ], "nInserted" :2, "nUpserted":0, "nMatched" : 0, "nModified" : 0, "nRemoved":0, "upserted" :[] }) >db.student.insert([{"name":"江九","age":22,"sex":"女","class":"计算机2班"},{"name":"胡十","age":20,"sex":"女","class":"计算机3班"}]) BulkWriteResult({ "writeErrors ":[], "writeConcernErrors" : [ ], "nInserted" :2, "nUpserted":0, "nMatched" : 0, "nModified" : 0, "nRemoved":0, "upserted" :[] })4.改 如果有多条语句,只修改第一条,会覆盖原有数据
>db.student.update({"name":"张三"},{"name":"张子枫"}) WriteResult({ "nMatched" : 1,"nUpserted" : 0,"nModified" : 1 })只想改某个key的value使用set
>db.student.update({"name":"章六"},{$set:{"name":"章子怡"}}) WriteResult({ "nMatched" : 1,"nUpserted" : 0,"nModified" : 1 })5.查 查询全部
>db.student.find()查询指定记录,返回这一行结果
>db.student.find({"name":"李四"})Or操作
>db.student.find({$or:[{"name":"张子枫"},{"name":"杨七"}]})获取结果的行数
>db.student.find().count()按照sort里面的key的值排序,1为正序,-1为倒序
>db.student.find().sort({"age":-1})格式化显示
>db.student.find().pretty()7.删 按照条件删除
>db.student.remove({"sex":"女"})删除所有
>db.student.remove({})删除数据库
>db.dropDatabase() {"dropped":"test","ok":"1"}