MongoDB操作

先附上两个网址

MongoDB 连接 | 菜鸟教程

MongoDB CRUD 操作 — MongoDB Manual 3.4

mongoDB 概念解析

show dbs命令可以显示所有数据的列表

use 数据库名:如果数据库不存在,则创建数据库,否则切换到指定数据库。

保留数据库名,可以直接访问这些有特殊作用的数据库。

  • admin 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
  • local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
  • config: Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

dropDatabase() 删除数据库

先选择到要删除的数据库,再使用命令

  1. 集合操作

db.createCollection(name, options) 创建集合

  例:db.createCollection("mycollection")

show collections 命令检查当前数据库中的集合

db.COLLECTION_NAME.drop() 删除集合

数据类型(常用)

String − 字符串是最常用的数据类型,MongoDB中的字符串必须是UTF-8编码。

Integer − 整数类型用于存储数值。整数可以是32位,也可以是64位,这取决于你的服务器。

Boolean − 布尔类型用于存储布尔值(true/ false)

Double − 双精度类型用于存储浮点值。

Min/ Max keys − 此类型用于将值与最低和最高的BSON元素进行比较。

Arrays − 此类型用于将数组、列表或多个值存储到一个键中。

Timestamp − ctimestamp。时间戳,用于记录文档何时被修改或创建。

Object − 这种数据类型用于嵌入文档。

Null − 此类型用于存储Null值。

Symbol − 此数据类型与字符串用法相同; 然而,它通常用于某些使用特定符号的语言。

Date − 此数据类型用于以UNIX时间格式存储当前日期或时间。您可以通过创建date对象,并将日、月、年传入其中,来指定自己的日期时间。

Object ID − 此数据类型用于存储文档的ID

Binary data − 这种数据类型用于存储二进制数据。

Code − 此数据类型用于将JavaScript代码存储到文档中。

Regular expression − 此数据类型用于存储正则表达式。

基本操作

插入(可用insertsave区别在于当遇到_id相同的情况下  save完成保存操作  insert则会报错 

db.[collectionName].insert({}) 插入数据

例:db.sample.insert({name:"mongo"})

删除(remove)

db.[collectionName].remove({}) 删除数据

db.COLLECTION_NAME.remove(DELETION_CRITERIA, 1) 只删除一条

例:db.sample.remove({name:"c"})

更新

db.[collectionName].update({查询器},{修改器}) 用新的文档代替老的文档

db.[collectionName].update({查询器},{修改器},true) 存在即更新,否则插入该数据

默认情况下,MongoDB只更新一个文档。要更新多个文档,需要将参数“multi”设置为true(或updatemany)。

$set修改器用来指定一个键值对,如果存在键就进行修改不存在则进行添加

$inc修改器只是使用与数字类型,他可以为指定的键对应的数字类型的数值进行加减操作

$unset修改器就是删除指定的键值对

$push修改器

1.如果指定的键是数组增追加新的数值

2.如果指定的键不是数组则中断当前操作Cannot apply $push/$pushAll modifier to non-array

3.如果不存在指定的键则创建数组类型的键值对

4.此方法可添加重复数据

$pushAll修改器$push类似可以批量添加数组数据 

$addToSet修改器如果目标数组存在此项则不操作,不存在此项则加进去,即不添加重复数据。

$pop修改器从指定数组删除一个值(1删除最后一个数值,-1删除第一个数值)。

$pull修改器删除一个被指定的数值。

$pullAll修改器一次性删除多个指定的数值。

例:
db.qikegu.update({'title':'MongoDB 优势'}, {$set:{'title':'MongoDB 优点'}})

查询(find

db.COLLECTION_NAME.find() 查询数据

db.mycollection.find().pretty() 输出格式化数据

$or后是数组需用[]

例:db.qikegu.find({"likes": {$gt:10}, $or: [{"by": "qikegu.com"}, {"title": "MongoDB 入门"}]}).pretty()

Limit()、skip()和sort()

db.COLLECTION_NAME.find().limit(NUMBER) 限制返回数

db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER) 跳过文档数

db.COLLECTION_NAME.find().sort({KEY:1}) 排序(-1降序 1升序)

聚合查询

管道(管道可以让某些命令的输出,作为另一个命令的输入

$project 用于从集合中选择某些字段。

$match 这是一个过滤操作,过滤文档。

$group 这是如上所述的实际聚合。

$sort 对文档进行排序。

$skip 结果偏移量,类似mysql中的offset。

$limit限定结果数量。

$unwind 用于展开使用数组的文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值