Mogodb 学习一

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

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

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

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

> d:
> cd D:MongoDB      // 里定位到mongod.exe  所在的目录
> mongod --dbpath D:MongoDBdata       // 运行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 即可使匹配的数据 都得到更新

原文地址:https://www.cnblogs.com/lxf1117/p/8288068.html