zoukankan      html  css  js  c++  java
  • MongoDB学习笔记(一)--基础

    Insert                                                                                       

    MongoDB在执行插入时,首先会将插入的数据转换成BSON格式。然后MongoDB数据库会对BSON进行解剖,并检查是否存在_id建。

    >doc = {
        "_id" : 1,
        "author" : "yyd",
        "title" : "MongoDB Test",
        "text" : "this is a test",
        "tags" : [
        "love",
        "test"
        ],
        "comments" : [
        {
            "author" : "yyd_guest",
            "comment" : "yes"
        },
        {
            "author" : "yyd_admin",
            "comment" : "no"
        }
        ]
    }
    > db.yyd.insert(doc);

    Query                                                                                       

    全部查找

    1

    返回除了 tags 字段外的所有字段

    1

    返回 tags = test 除了 comments 的所有列

    1

    返回 id=1 的 title 字段

    1

    • <, <=, >, >=

    image

    大于 $gt、小于 $lt、大于等于 $gte、小于等于 $lte

    • $all

    $all 操作类似$in 操作,但是不同的是,$all 操作要求数组里面的值全部被包含在返回的记录里面。

    image

    • $exists

    $exists 操作检查一个字段是否存在。

    image

    $exists:true代表返回存在这个键的值。

    $exists:false代表返回不存在这个键的值。

    • $mod
    > db.user.find("this._id%2==1");
    > db.user.find({_id:{$mod:[2,1]}});

    两句话一样的效果。

    • $ne

    $ne 意思是 not equal,不等于。

    image

    • $in

    $in 操作类似于传统关系数据库中的 IN。

    image

    • $nin

    $nin 跟$in 操作相反。

    • $or

    image

    • $nor

    $nor 跟$or 相反。

    • $size

    $size 操作将会查询数组长度等于输入参数的数组。

    image

    • skip

    跳过前 2 条记录。

    image

    • limit

    每页返回 3 条记录

    image

    • sort()

    sort()方法对返回记录集按照指定字段进行排序返回,1 表示升序,-1 表示降序。

    image

    • count()

    count()方法返回查询记录的总数目。

    image

    Remove                                                                                     

    image

    Update                                                                                     

    • update()
    db.collection.update( criteria, objNew, upsert, multi )

    参数说明:

    Criteria:用于设置查询条件的对象

    Objnew:用于设置更新内容的对象

    Upsert:如果记录已经存在,更新它,否则新增一个记录

    Multi:如果有多个符合条件的记录,全部更新

    注意:默认情况下,只会更新第一个符合条件的记录

    • save()

    如果存在更新它,如果不存在,新增记录。

    image

    • $inc

    增加1,对int等有效。

    对一个_id=3 的 user 的年龄进行加 1,两种方法。

    image

    image

    • $set
    { $set : { field : value } }

    把 field 的值设置成 value,当 field 不存在时,增加一个字段,类似 SQL 的 set 操作,value 支持所有类型。

    • $unset
    { $unset : { field : 1} }

          删除给定的字段 field。

    • $push
    { $push : { field : value } }

    如果 filed 是一个已经存在的数组,那么把 value 追加给 field;

    如果 field 原来不存在,那么新增 field 字段,把 value 的值赋给 field;

    如果 field 存在,但是不是一个数组,将会出错。

    • $pushAll
    { $pushAll : { field : value_array } }

    功能同$push,只是这里的 value 是数组,相当于对数组里的每一个值进行$push操作。

    • $addToSet
    { $addToSet : { field : value } }

    如果 filed 是一个已经存在的数组,并且 value 不在其中,那么把 value 加入到数组;

    如果 filed 不存在,那么把 value 当成一个数组形式赋给 field;$pop

    如果 field 是一个已经存在的非数组类型,那么将会报错。

    • $pop
    { $pop : { field : 1 } }

    删除数组中最后一个元素

    { $pop : { field : -1 } }

    删除数组中第一个元素

    • $pull
    { $pull : { field : _value } }

    如果 field 是一个数组,那么删除符合_value 检索条件的记录;

    如果 field 是一个已经存在的非数组,那么会报错。

    • $pullAll
    { $pullAll : { field : value_array } }
    • $rename
    { $rename : { old_field_name : new_field_name }

    重命名指定的字段名称。

    转载请注明出处:http://www.cnblogs.com/yydcdut/p/3557414.html

  • 相关阅读:
    Python基本数据类型
    Python内存相关
    Python运算符和编码
    js比较日期大小 判断日期
    js判断一个数是不是正整数
    sql查询排序
    js获取select标签选中的值
    PL/sql配置相关
    搜狗的好玩用法
    Oracle数据库中的dual表
  • 原文地址:https://www.cnblogs.com/yydcdut/p/3557414.html
Copyright © 2011-2022 走看看