MongoDB学习(1)–安装,基本curd操作

知识点:

  1-MongoDB 安装,启动和卸载

  2-基本概念

  3-基本的增删改查操作(CURD)


   来回顾总计一把读书的mongodb,如果有javascript基础,学习”芒果DB”如故很好了解的,即使会动用mysql,这就更便于了。

  mongodb是一个在于nosql数据库和mysql数据库之间的一个数据存储系统。Mongo的特征是她辅助的询问语言相当强劲,几乎可以实现类似关系数据库单表查询的多方效应,而且还补助对数据建立目录。

  特点:高性能、易部署、易使用,存储数据分外有利

  测试环境: win10系统

一. MongoDB 设置,启动和卸载

  1)  那里只做windows中的安装,相比较简单容易。

  Step 1:
官网下载压缩文件并解压
。现在官网下载要注册相比麻烦,假如想急迅点,可以到mongo网址去下载

         我下载的版本: mongodb-win32-x86_64-v3.4-latest.zip 
  x86_64则不用管是32位依旧64位

     解压未来:
里面有一个bin目录和3个公文。我们需要的就是这多少个bin目录。

      图片 1

  Step 2: 
准备工作,将bin目录复制到想放置的职务。可以成立一个mongodb目录,将bin目录放入。

      图片 2

  Step 3:  准备工作
, 制造一个存放数据的目录如data/  ,再创制一个日志文件如log.txt. 
(执行安装命令时就通晓为啥要开创了)

           图片 3

      我是在wamp目录下开创了mongodb目录,
和php,mysql在同级目录下。

      我的目录结构大体上: /mongodb/bin/      /mongodb/data/    
/mongodb/log.txt

  Step 4:
先河设置,在cmd中运行bin目录中的mongod.exe

      mongod.exe  –install  
–dbpath 数据目录    –logpath 日志文件

1 //安装  下面db和log.txt就是上面准备工作中创建的
2 mongod.exe  --install 
3              --dbpath D:/amp/Mongodb/data/db  
4              --logpath D:/amp/Mongodb/data/log.txt

图片 4

  注: 可以一贯将mongod.exe往cmd窗口拖入,这样就不用输入路径了

  Step 5:
启动mongo.   在“运行”中输入 “services.msc”
打开服务窗口,找到mongo项,并启动。(或直接右键》任务管理器》服务》打开服务)

                图片 5

  Step 6: 
测试安装是否成功

    情势1:
在cmd中直接打开mongo的客户端(就像mysql黑窗口),将/bin/mongo.exe拖到cmd中,回车运行

    图片 6

         模式2: 在浏览器中输入   localhost:27017   会看到一句罗马尼亚语指示

    图片 7

    此时mongodb已经设置完成。

2)  安装出错:
无mogoDB服务项

  错误描述: 按照上述手续安装mongodb,
未出现error等错误语句,准备启动mongodb时,在劳动中居然没有mongo该服务项??

  案由剖析: cmd直接运行的,可能需要管理员运行

  最后化解:用管理员身价再一次履行安装五遍

二. 基本概念

     (1) NoSQL : Not Only SQL  ,既非关系型的数据库

     (2) 文档(document)  (就是记录)

                         i.              文档 (document) – 相当于
mysql
中的一条记下

                       ii.              格式 ( key / value):  
{“name”:”php”, “age”:100}

    (3) 集合(collection) (数据表)

                         i.              集合 (collection) – 相当于
mysql 中的一个表

                       ii.              无须规定任何社团  如{ “name” :
“php” } 

    (4) 每个文档(每条记下)都有一个
_id”属性,唯标识一个文档 (相当于mysql中的自增的主键

    (5) Mongodb 客户端: db  该变量代表所当前连年的数据库

三. 基本的增删改查操作(CURD)

mongodb的客户端打开,其也是一个js的编译器,默认连接的是“test”数据库

图片 8

增删改操作主要行使以下方法:

           增操作:  insert (添加文(加文)档)

      查操作: find (重临所有文档)    findOne (再次来到一个文档)

           改操作:  update (修改文档)

           删除操作: remove (除去文档)

(1)增操作:  insert
(添加文档)**

 1 // 添加记录
 2 //向集合(用户表)user中添加一条记录
 3 var user={username:"张三",age:18}           //js中声明一个字面量对象一样  (字段名如username不加引号是可以的)
 4 db.user.insert(user)                                 //添加
 5 db.user.find()                                         //查询结果
 6 
 7 -- 向集合user中添加一条日志记录
 8 var blog = {"title":"Mongodb学习",content:"一起来玩一把mongodb","addtime":"2018-01"}
 9 db.user.insert(blog)
10 db.user.find()

图片 9

  表达: 1-字段名(对应js中性能名字)
能够加引号也可以不加引号。不加系统会活动抬高

        2-
下边的代码可以一向复制到mongodb客户端直接运行(上述代码中”//”在客户端运行也是注释符)。注意,复制后点击右键自动粘贴上去

     3- 
每行语句末尾可以加分号回车,也足以不加直接回车,那个和js是同等的

        4-
执行命令值,也得以不用讲明使用变量,直接将值放到函数中也是均等的。如db.user.insert({“username”:”张三”,”age”:18})

**(2)查操作: find
(重临所有文档)    findOne (再次回到一个文档)**

//查询记录
db.user.findOne()     //查询出第一条记录
db.user.find()    //查询出所有的记录

//查询出年龄等于18岁所有记录
var user={"username":"张三","age":18};   //准备添加测试数据
var user1={"username":"李四","age":28};
var user2={"username":"王五","age":38};
var user3={"username":"赵六","age":18};
db.user.insert(user);
db.user.insert(user1);
db.user.insert(user2);
db.user.insert(user3);
db.user.find({age:18})//查询出年龄等于18岁所有记录

查询出年龄等于18岁且姓名名是"赵六" 的记录
db.user.find( { age:18,username:"赵六" } )

留意: 字段引号可加可不加,不过假若值是字符串有引号,则查询也不可能不抬高

//下面2条查询是不一样的,如果记录中是整型的18 则最下面的一条是查不到记录的
db.user.find({age:18})  
db.user.find({age:"18"})  

图片 10

(3)改操作:  修改记录 
update(where,data)  ,  save()

update方法的首先个参数为“查找的规格”,第二个参数为“更新的值”

//修改张三年龄为80
//方式1
db.user.findOne({username:"张三"})
var u=db.user.findOne({username:"张三"})
u.age=20
db.user.save(u);
db.user.findOne({username:"张三"})
//方式2
db.user.update({username:"张三"},{username:"张三",age:18}) //要注意第2个{}值是最终值,如果漏了其他值,则其他未写的值会全部自动删除掉了
db.user.findOne({username:"张三"})

**(4)剔除操作: remove
(去除文档)**

//--删除记录
db.user.remove({});   //删除所有user集合中的数据
//删除age=18的记录
db.user.remove({age:18})  //仅删除user集合中的age=18的记录

旧版本的remove中假使不带参数将去除所有数据,但此版本(新版)中一经不给参数会报错,给一个空值,就足以去除所有记录。删除是很危险的操作,且不得撤回,所以删除一定要谨小慎微

 技巧唤起:

  1-在mongodb客户端中得以按: ctrl+l
可以清屏
(那个清空屏幕要理解,清了随后,想看前边的操作结果可就看不到了哦)

       2- 输入: db.help() 
会提交一些数量库级操作的协助。假使要查看集合级的协理则输入:db.集合名.help() 
如:db.user.help()

  3-
假如想像mysql一样高速在黑窗口运行,大家可以将mongo执行目录参加到环境变量中。下次运作则一向敲如:
mongo 就可以运行客户端了

理所当然准备将php援助的部署也写下来,可以在网上编辑文档有点慢。假诺能直接导入word就好了。不知底我们是哪些神速编辑的。

网站地图xml地图