基础

关键词

database           数据库
collection           数据库表/集合
document          数据记录行/文档
field                   数据字段/域
index                 索引
primary              主键,MongoDB将_id作为主键

MongoDB - 连接

mongod --fork --logpath://log_path --datapath://data_path

MongoDB - 操作

数据库操作:

use db_name                 #切换到da_name数据库,不存在则创建数据库
show dbs                    #查看所有数据库(没有数据的库除外)
db.dropDatabase()           #删除当前数据库
db.collection.drop()        #删除集合
db.collection.remove({})    #清空集合

文档(数据)操作:

db_name.insert({'name':'value'})     #插入数据
db.collection.insert(document)       #插入文档

db.collection.update(
    <query>,  #查询条件
    <update>,  #update对象和操作符
    {
        upsert: <boolean>,        #可选,如果记录不存在是否插入新对象,默认False
        multi: <boolean>,         #可选,默认只更新找到的第一条记录,默认为False
        writeConcern: <document>  #可选,抛出异常的级别
    }
)

db.collection.save(
    <document>,                   #用来替换的文档数据
    {
        writeConcern:<document>   #可选,抛出异常的级别
    }
)

db.collection.remove(
    <query>,    #删除条件
    {
        <justOne>,               #可选,如果设置为True或1,则只删除1条
        <writeConcern: <document> #可选,抛出异常的级别
   }
)

db.collection.find()              #非格式化显示所有数据
db.collection.find().pretty()     #格式化显示所有数据
db.collection.findOne()           #只查询一条数据

查询条件语句 query

db.collection.find({'by':'value'}).pretty()           #by "= value"
db.collection.find({'likes': {$lt: 50}}).pretty()     # likes < 50 
db.collection.find({'likes': {$lte: 50}}).pretty()    # likes <= 50
db.collection.find({'likes': {$gt: 50}}).pretty()     # likes > 50
db.collection.find({'likes': {$gte: 50}}).pretty()    # likes >= 50
db.collection.find({'likes': {$ne: 50}}).pretty()     # likes != 50

操作符 $

db.collection.find({'by':'value'}, {'like': {$lt:50}}).pretty()  #find可以传入多个参数

db.collection.find(
    {
        $or:[                    # $or 操作符,满足后续任一条件则输出
            {key1: value1}, {key2: value2}
        ]
    }
).pretty()

db.col.find({"likes": {$gt:50}, $or: [{"by": "by1"},{"title": "title1"}]}).pretty()
# and 与 or 联用,组合查询

db.collection.find({'title' : {$type: 2}})    #type操作符,判断指定属性类型,较少用

db.collection.find().limit(num)    #limit操作符,指定输出数据数量
db.collection.find().skip(num)     #skip操作符,跳过指定数量后查询

db.collection.find().sort(1/-1)    #sort排序,1为升序,-1降序

索引 index

添加索引可以有效的加快指定数据的查询速度

db.collection.ensureIndex({key: 1})           #创建索引

聚合 aggregate

主要用于处理数据,统计、求和、平均值等

db.collection.aggregate(AGGREGATE_OPERTION)  # 基本格式

db.collection.aggregate(
    [
        {
            $group :         #给查询后的数据分组标识
                {
                    _id : "$user",    #格式化输出,user
                    num_tutorial : {$sum : 1}    #计算总和
                }
         }
    ]
)
$sum: 计算综合
$avg: 计算平均值
$min: 获取集合的最小值
$max: 获取集合的最大值
$push: 在结果文档中插入值到一个数组
$addToSet: 在结果文档中插入值到一个数组中,不创建副本
$first: 根据排序获取第一个文档数据
$last: 根据排序获取最后一个文档数据
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,186评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,858评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,620评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,888评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,009评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,149评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,204评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,956评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,385评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,698评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,863评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,544评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,185评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,899评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,141评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,684评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,750评论 2 351

推荐阅读更多精彩内容