简单了解MongoDB

MongoDB体系结构

## MongoDB数据类型

数据类型描述
String字符串。存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的。
Integer整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64 位。
Boolean布尔值。用于存储布尔值(真/假)。
Double双精度浮点值。用于存储浮点值。
Min/Max keys将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比。
Array用于将数组或列表或多个值存储为一个键。
Timestamp时间戳。记录文档修改或添加的具体时间。
Object用于内嵌文档。
Null用于创建空值。
Symbol符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言。
Date日期时间。用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。
Object ID对象 ID。用于创建文档的 ID。
Binary Data二进制数据。用于存储二进制数据。
Code代码类型。用于在文档中存储 JavaScript 代码。
Regular expression正则表达式类型。用于存储正则表达式。

MongoDB语法

Create

  1. 创建/选择数据库 use {DatabaseName}
  2. 创建集合 db.createCollection(name, options)
    1. options 可以是如下参数:
字段类型描述
capped布尔(可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数。
size数值(可选)为固定集合指定一个最大值,即字节数。如果 capped 为 true,也需要指定该字段。
max数值(可选)指定固定集合中包含文档的最大数量。
  1. 插入文档 db.{CollectionName}.insert({BSONData});
    1. or: db.{CollectionName}.save({BSONData});
    2. such as: db.comment.insert({content:"MongoDB",userid:"1011"})

Read

  1. 按条件统计条数 db.{CollectionName}.count({条件})
    • such as: db.comment.count({userid:"1013"})
  2. 模糊查询 db.{CollectionName}.find({content:/正则表达式/})
    • such as:db.comment.find({content:/流量/})
  3. 查看数据库 show {DatabaseName}
  4. 查询文档 db.{CollectionName}.find([查询条件])
    • such as: db.comment.find({userid:'1013'})

Update

  1. 修改文档 db.{CollectionName}.update({条件},{修改后的数据})
    • such as: db.comment.update({_id:"1"},{thumbup:1000})
      • warning: 执行后这条文档除了thumbup字段其它字段都会被覆盖,使用修改器$set来避免该问题
      • such as:db.comment.update({_id:"2"},{$set:{thumbup:2000}})

Delete

  1. 删除数据库 db.dropDatabase()
  2. 删除集合 db.collection.drop()
  3. 删除文档 db.{CollectionName}.remove({条件})
    • such as: db.comment.remove({thumbup:1000})
      • warning: 不指定条件db.comment.remove({})将会把数据全部删除

if…

  1. 大于 小于 不等于
db.集合名称.find({ "field" : { $gt: value }}) // 大于: field > value
db.集合名称.find({ "field" : { $lt: value }}) // 小于: field < value
db.集合名称.find({ "field" : { $gte: value }}) // 大于等于: field >= value
db.集合名称.find({ "field" : { $lte: value }}) // 小于等于: field <= value
db.集合名称.find({ "field" : { $ne: value }}) // 不等于: field != value
  1. 包含 不包含
  • 包含使用$in操作符
    • 查询评论集合中userid字段包含1013和1014的文档
    • db.comment.find({userid:{$in:["1013","1014"]}})
  • 不包含使用$nin操作符
    • 查询评论集合中userid字段不包含1013和1014的文档
    • db.comment.find({userid:{$nin:["1013","1014"]}})
  1. 与 或
  • $and:[{条件},{条件},{条件}]
  • $or:[{条件},{条件},{条件}]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值