0、MongoDB和关系型数据的几个重要对象对比

MongoDB中的数据库、集合、文档 类似于关系型数据库中的数据库、表、行

MongoDB中的集合是没有模式的,所以可以存储各种各样的文档

1、启动MongoDB服务:从控制台里定位到mongod.exe  所在的目录 ,执行该程序

> d:
> cd D:\MongoDB      // 里定位到mongod.exe  所在的目录
> mongod --dbpath D:\MongoDB\data       // 运行mongod 程序 , 备注 mongod后面的参数是指定  数据目录

2、运行MongoDB Shell 

cmd控制台  定位和运行Mongo.exe  启动Shell

3、MongoDB中的数据类型:

基本数据类型: 字符串 布尔 null  数组  对象 数字

数字:32位整数  64位整数   64位双精度浮点数

日期: new Date()  表示从标准纪元开始的毫秒数

内嵌文档

_id和ObjectId

4、插入、更新、删除文档

4.1 插入:db.foo.insert({"name":"lxf"});

4.2 删除:db.foo.remove()   // 不带条件的删除 会删除集合中的所有文档 但不会删除集合  原有的索引也会保留。删除数据是永久性的 不能恢复 不能撤销

删除整个集合使用:db.drop_collection("far")

4.3 更新文档:

4.3.1 文档替换

4.3.2 使用修改器:

$set   用来指定一个键的值,如果这个键不存,则创建它  , 可以修改数据类型 。 example: db.product.update({"name":"旺仔牛奶"},{"$set":{ "num":50 , "category":"饮料"  }})

$unset    可以将指定的键完全删除     注意:增加、修改、删除键时,应该使用$开头的修改器

$inc 用来增加或减少已有键的值(键不存在时就创建这个键,初始值设定为增量值 ,操作的键值对象必须为 整数 长整数 浮点数), db.product.update({"name":"旺仔牛奶"},{"$inc":{ "num":2  }})

$push 只能对数组操作     db.product.update({"name":"旺仔牛奶"},{"$push":{ "arr": 100 }})

$ 数组的定位修改器  指定修改数组中的一部分  db.product.update({"name":"旺仔牛奶"},{"$set":{ "arr.0": 5 }})

4.3.3 upsert

有即更新 没有 以条件和更新文档为基础创建一个新文档    db.product.update({"name":"飛旺"},{"$set":{ "price": 5 }},true)

save 是一个shell函数  不存在时插入  存在时更新  它只有一个参数 :文档, 如果这个文档含有 "_id"键,save 会调用upsert,否则会调用插入。

4.4  更新多个文档

设置 update第四个参数为 true 即可使匹配的数据 都得到更新

Mogodb 学习一的更多相关文章

  1. MongoDB学习笔记—Linux下搭建MongoDB环境

    1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...

  2. MongoDB学习笔记(二:入门环境配置及与关系型数据库区别总结)

    一.下载及安装MongoDB MongoDB下载官网链接:http://www.mongodb.org/downloads 具体安装步骤教程:http://www.shouce.ren/api/vie ...

  3. NodeJS+Express+MongoDB 简单实现数据录入及回显展示【适合新人刚接触学习】

    近期在看NodeJS相关 不得不说NodeJS+Express 进行网站开发是很不错,对于喜欢玩JS的来说真是很好的一种Web开发组合 在接触NodeJS时受平时Java或者C#中API接口等开发的思 ...

  4. MySQL(一) -- MySQL学习路线、数据库的基础、关系型数据库、关键字说明、SQL、MySQL数据库、MySQL服务器对象、SQL的基本操作、库操作、表操作、数据操作、中文数据问题、 校对集问题、web乱码问题

    1 MySQL学习路线 基础阶段:MySQL数据库的基本操作(增删改查),以及一些高级操作(视图.触发器.函数.存储过程等). 优化阶段:如何提高数据库的效率,如索引,分表等. 部署阶段:如何搭建真实 ...

  5. 【每日更新】【Redis学习】

    5. Redis订阅和发布模式和Redis事务 -------------------Redis事务------------------- 1.概念:     redis中的事务是一组命令的集合.事务 ...

  6. MongoDB学习(1)--安装,基本curd操作

    知识点: 1-MongoDB 安装,启动和卸载 2-基本概念 3-基本的增删改查操作(CURD) 来回顾总结一把学习的mongodb,如果有javascript基础,学习"芒果DB" ...

  7. golang and mogodb

    1.golang的mogodb包下载:http://gopkg.in/mgo.v2    http://gopkg.in/mgo.v2/bson 2.golang的mongodb操作(mgo):htt ...

  8. MongoDB学习笔记:快速入门

    MongoDB学习笔记:快速入门   一.MongoDB 简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.M ...

  9. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

随机推荐

  1. Mysql_临时表

    CREATE TEMPORARY TABLE test_info ( test_name ) NOT NULL, test_totail ,) NOT NULL DEFAULT 0.00, test_ ...

  2. shell脚本之基础

    配置启动界面 vim /etc/inittab/  init3配置网卡 重启生效system-config-network网卡配置文件vim /etc/sysconfig/network-script ...

  3. Git 命令简单罗列

    源教程出自 廖雪峰的官方网站 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 整 ...

  4. arduino按钮使用的两个小实验

    一:按钮控制一个灯                                                                                            ...

  5. 【大数据实战】将普通文本文件导入ElasticSearch

    以<刑法>文本.txt为例. 一.格式化数据 1,首先,ElasticSearch只能接收格式化的数据,所以,我们需要将文本文件转换为格式化的数据---json. 下图为未处理的文本文件. ...

  6. A - 摆仙果

    题目描述 Adrian, Bruno与Goran三人参加了仙界的宴会,宴会开始之前先准备了一些仙果供三人品尝,但是仙果的摆放有顺序要求,如果把仙果摆错了位置,仙果就会消失而无法品尝到. 由于三人是第一 ...

  7. About The Algorithm Simplification

    For mode 1, you have to ergod all the data in the files. So the key point to solve this problem is t ...

  8. Beta 讨论分析——持续更新ing

    wonderland Beta 讨论分析 标签(空格分隔): 软工实践 wonderland 主要工作: info信息: 1.关联账号界面:hbb 2.标签检索界面:hbb 3.近期活跃度(cf.hd ...

  9. 回忆--RYU流量监控

    RYU流量监控 前言 Ryu book上的一个流量监控的应用,相对比较好看懂 实验代码 github源码 from ryu.app import simple_switch_13 from ryu.c ...

  10. winform只允许一个应用程序运行

    使用互斥体Mutex类型 using System.Threading; //声明互斥体 Mutex mutex = new Mutex(false, "ThisShouldOnlyRunO ...