<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    數據加載中……
    mongoDB的學習筆記
        最近在學習Mogodb,目前只是出于學習階段,還沒有在項目中實戰過,記錄一下下學習的總結。
    ----start----

    基本概念:

    1、文檔 --> 對應關系數據庫的行,也就是一條記錄。它比關系數據庫的行的功能要強大,更像是是某個具體的對象。文檔以一種Map的形式展現出來,當然value可以是任意的類型,也可以繼續是一個文檔(遞歸的定義)

    2、集合 --> 對應關系數據庫的表。但是它又是無模式的,即文檔不要求一致。

    基本操作:

    1、顯示數據庫

    show dbs

    2、創建數據庫:

    use yourDateBaseName 這就創建了一個數據庫。

    不過你用show dbs,并不能顯示yourDataBaseName,因為這個數據庫沒有任何操作。所以如果你直接離開,則本數據庫會被廢除。

    如果你插入一條記錄,此時就可以通過show dbs看到對應的數據庫

    如下:

    record = {"name" : "wang", "age" : 20, "password" : "123456"}

    db.yourDateBaseName.yourTableName.insert(record)

    這時使用show dbs就可以看到你的數據庫了

    3、顯示數據庫

    show collections。默認的包含system.indexes 表

    4、創建集合:

    因為mongodb中集合是無模式的,不像傳統的關系型數據庫是需要預先申明表包含哪些字段并且定義字段的屬性。雖有無需預先定義。使用的時候直接插入。可以見上面的例子。

    5、刪除集合

    db.yourDatabaseName.yourCollectionName.drop()

    6、將文檔插入集合

    record = {"name" : "wang", "age" : 20, "password" : "123456"}

    db.yourDatabaseName.yourCollectionName.insert(record)

    7、刪除集合中的文檔

    db.yourDatabaseName,yourCollectionName.remove()

    會清空此集合中的所有文檔

    8、文檔更新

    Mongo中的更新有兩種

    一種是:用新的文檔去替換舊的文檔。【就是通過條件先將滿足條件的選出來該文檔,修改完之后替換舊的文檔】,個人不喜歡這種操作,違背了原子性啊。

    另外一種:采用Mongo的修改器對文檔進行修改。

    修改器列表:

    8.1、“$set”修改器:用了指定一個健的值。如果健不存在,就創建它。

       Example:

    db.myMongodb.user.update({"_id":ObjectId("4ed373c46d375f1a1960ed07")}, {"$set" : {"sex" : "male"}})

           “$unset”刪除某個健

           Example:

                 db.myMongodb.user.update({"_id":ObjectId("4ed373c46d375f1a1960ed07")},  {"$unset" : {"sex" : 1}})

     8.2、“$inc”修改器用了增加已有的健的值,或者在鍵不存在的時候創建一個健。

    Example:

         db.myMongodb.user.update({"_id":ObjectId("4ed373c46d375f1a1960ed07")},  {"$inc" : {"age" : 1}}) 

    Tips: $inc 只能用于整數,長整數和雙精度浮點數。其他數會導致失敗。

         8.3、“$push”會向已有的數組末尾加入一個元素,要是沒有就會創建一個新的數組。

    Example:

    db.myMongodb.user.update({"_id":ObjectId("4ed373c46d375f1a1960ed07")},

            {$push : {"comments" : "this is my comments"}})

         8.4、“$ne”not equal判定器,【判定給定的屬性不等于給定值】

    Example:

    db.myMongodb.user.update({"comments" : {"$ne" : "this is comments"},

    {$push : {"comments" : "your comments"}})

         8.5、“$addToSet”在不重復的情況下添加

    Example:

    db.myMongodb.user.update({"_id":ObjectId("4ed373c46d375f1a1960ed07")},

    {"$addToSet" : {"comments" : "your comments"}})

         8.6、“$each”數組遍歷修改器

    Example:

    db.myMongodb.user.update({"_id":ObjectId("4ed373c46d375f1a1960ed07")},

    {"$addToSet" : {"comments" : {"$each" : ["a commnet", "b comment"]}}})

     8.7、“$pop”修改器,從數組中刪除任何一端刪除元素

    Example:

    {$pop : {key : 1}}從數組末尾刪除一個元素

    {$pop : {key : -1}}從數組頭部刪除

         8.8、數組定位修改器

    Example:

    db.myMongodb.user.update({"comments.author" : "john"},

    {"$set" : {"comments.$.author" : "jim"}})

    定位到第一個john的第一條評論

    9、特殊的更新or插入 upsert

    Upsert的特點是如果存在就更新,如果不存在就根據update的條件插入一條新的記錄

    10、批量更新

    需要設置update的第四個參數為true,否則默認更新第一個匹配的文檔

    11、得到上一條命令的執行結果
        db.runCommand({getLastError : 1})

    posted on 2011-12-01 00:32 潘潘.eagle 閱讀(1864) 評論(0)  編輯  收藏 所屬分類: mongoDB


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久免费看黄a级毛片| 野花香在线视频免费观看大全| 免费h片在线观看网址最新| 亚洲AV无码专区国产乱码4SE| sihu国产精品永久免费| 亚洲一区日韩高清中文字幕亚洲 | 免费一级特黄特色大片在线| 亚洲av乱码一区二区三区按摩| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 免费无码又爽又刺激高潮的视频 | 亚洲va在线va天堂va888www| 最近2019年免费中文字幕高清| 亚洲国产综合精品中文第一区| 9277手机在线视频观看免费| 亚洲在成人网在线看| 色吊丝最新永久免费观看网站| 色吊丝免费观看网站| 中国亚洲女人69内射少妇| 久久久久久久99精品免费观看| 亚洲AV无码久久精品蜜桃| 免费黄色福利视频| 亚洲国产成人AV网站| 国产gv天堂亚洲国产gv刚刚碰| 一区二区三区观看免费中文视频在线播放| 亚洲网址在线观看| 蜜臀91精品国产免费观看| 成人无码区免费A∨直播| 亚洲欧洲国产日韩精品| 最近免费中文字幕视频高清在线看| 亚洲av午夜电影在线观看| 国产亚洲成归v人片在线观看| 国产羞羞的视频在线观看免费| 亚洲国产美女精品久久久久| 免费国产a国产片高清| 国产色爽免费无码视频| 亚洲色大成网站www永久网站| 久久亚洲色一区二区三区| 香蕉97超级碰碰碰免费公| 成年免费a级毛片| 亚洲一区精品视频在线| 久久国产成人精品国产成人亚洲|