MongoDB的安装和增删改查

    技术2022-07-11  124

    MongoDB的安装和增删改查

    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 . conf

    8.启动命令/opt/mongodb4.2.6/bin/mongo

    增删改查

    1.创建/切换数据库(如果不存在,则会创建)

    >use test switched to db test

    显示所有的数据库

    >show dbs

    显示当前数据库

    >db test

    2.创建集合(相当于创建数据库中的表)

    >db.createCollection("student") {"0k":"1"}

    显示所有的集合

    >show table student

    3.增

    >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"}
    Processed: 0.024, SQL: 9