mac安装mongoDB及配置

2019-07-31  本文已影响0人  lmmy123

使用homebrew安装

brew install mongodb

配置

1.系统根目录下创建文件夹

~ sudo mkdir -p /data/db

2.给data/db文件夹赋予权限

~ whoami
apple
~ sudo chown apple /data/db

3.添加环境变量(这里用的zsh终端,所以配置zsh文件)

vim ~/.zshrc

写入 export PATH=/usr/local/Cellar/mongodb/4.0.4_1/bin:${PATH}

~ source ~/.zshrc

让其生效

启动

~ mongod

新建一个终端

~ mongod -version
// db version v4.0.3

 ~ mongo
// 进入数据库

db.shutdownServer()
// 退出

操作命令

查看数据库: show  dbs
选择要操作的数据库:use DBNAME(数据库名字)
查看集合:show collections
查看集合里面的内容:db.COLLECTIONNAME(集合名字).find();
查看当前操作的数据库:db    或者    db.getName()
创建数据库:use 要创建的数据名
数据的添加:db.COLLECTIONNAME(集合名字).insert({name:"张三",age:19})

数据操作

增加:db.COLLECTIONNAME.insert({name:"张三",age:19});

sava添加操作
db.COLLECTIONNAME.sava({name:"李四",age:18});

sava更新操作
db.COLLECTIONNAME.save({ "_id" : ObjectId("5a67e9b5abb73ea4bf24d0f0"), "name" : "张三2", "age" : 20 })

删除:remove()
db.COLLECTIONNAME.remove({name:"张三"},{配置项(可选)})

注意:updata默认是只会更新符合条件的多条数据中的一条数据,remove默认配置是只会删除符合条件数据的所有数据

// 数据查询
db.COLLECTIONNAME.find({条件},{字段})
eg: 查询数据库中大于30岁的人
db.COLLECTIONNAME.find({age:{$gt:18}})
条件查询

大于 gt
小于 lt
大于等于 gte
不等于 ne
等于 :
正则
eg:

db.COLLECTIONNAME.find({name:/^王/}) //查询所有以王 开头的name

直接用逗号隔开

db.COLLECTIONNAME.find({name:"张三", age:19})
或 $or
db.COLLECTIONNAME.find({$or:[{age: 19},{age:18}]})

分页
skip()
限制条数
limit()
排序
sort()
汇总数
count()

MongoDB

条件查询

练习:
  查询姓名为小明的学生
        db.users.find({name:'小明'});;   查询英语成绩大于90分的同学
        db.users.find({score:{$gt:90}}); //查找成绩大于90分$gt
        //$lt小于
 查询数学成绩不等于88的同学
        db.users.find({score:{$ne:88}});   查询总分大于200分的所有同学
        db.users.find({score:{$gt:200}});

分页

排序

模糊匹配

聚合函数

联合查询

db.orders.insert([
   { "_id" : 1, "item" : "almonds", "price" : 12, "quantity" : 2 },
   { "_id" : 2, "item" : "pecans", "price" : 20, "quantity" : 1 },
   { "_id" : 3  }
]);
db.inventory.insert([
   { "_id" : 1, "sku" : "almonds", description: "product 1", "instock" : 120 },
   { "_id" : 2, "sku" : "bread", description: "product 2", "instock" : 80 },
   { "_id" : 3, "sku" : "cashews", description: "product 3", "instock" : 60 },
   { "_id" : 4, "sku" : "pecans", description: "product 4", "instock" : 70 },
   { "_id" : 5, "sku": null, description: "Incomplete" },
   { "_id" : 6 }
]);
db.orders.aggregate([
   {
     $lookup:
       {
         from: "inventory",
         localField: "item",
         foreignField: "sku",
         as: "inventory_docs"
       }
  }
]);

参考
https://www.jianshu.com/p/83e892ea242d

上一篇 下一篇

猜你喜欢

热点阅读