真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MongoDB文檔更新(一)

    MongoDB文檔更新:1.可以是采用刪除原文檔然后插入一個(gè)更新后的新文檔到數(shù)據(jù)庫(kù)中;2.基于原文檔使用修改器修改原文檔中的文檔屬性。

    下面主要說(shuō)明的是使用基于原文檔使用update方法結(jié)合修改器修改文檔內(nèi)容:
    修改的數(shù)據(jù)結(jié)構(gòu)包括文檔中的簡(jiǎn)單屬性、數(shù)組和嵌套文檔。
    1.$set修改器:用來(lái)指定文檔中某一個(gè)鍵的值,如果此鍵不存在的話(huà)就創(chuàng)建。
    如要修改如下文檔:
        > db.c1.find({"name":"user3"});
        { "_id" : ObjectId("4fc145e3703fa637a073651b"), "name" : "user3", "age" : 16 }

屯溪網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)成立于2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。

    將其中的"name"修改成"user16":
       > db.c1.update({"age":16},{"$set":{"name":"user16"}});
       > db.c1.find({"age":16});
        { "_id" : ObjectId("4fc145e3703fa637a073651b"), "age" : 16, "name" : "user16" }
    往用戶(hù)為user16的文檔中添加一本書(shū):
       > db.c1.update({"age":16},{"$set":{"book":"love story"}});
       > db.c1.find({"age":16});
{ "_id" : ObjectId("4fc145e3703fa637a073651b"), "age" : 16, "book" : "love story", "name" : "user16" }
       增加了“book”屬性,并添加了一本書(shū)。
    2.$unset修改器:與$set相對(duì)應(yīng),可以去掉某一個(gè)屬性值。
      如要?jiǎng)h上面文檔中的"book"屬性,可使用:
      db.c1.update({"age":16},{"$unset":{"book":1}});
      結(jié)果是:
      > db.c1.find({"age":16});
{ "_id" : ObjectId("4fc145e3703fa637a073651b"), "age" : 16, "name" : "user16" }其中的"book"屬性被刪除掉,"1"刪除掉book屬性。
    3.使用$set,$unset修改嵌套文檔:
    如下嵌套文檔:
    { "_id" : ObjectId("4fc145e3703fa637a073651b"),
      "address" : { "location" : "linkin street no5", "zip" : "108991" },
      "age" : 16,
      "name" : "user16" }
    修改其中的zip屬性為"111111":
    > db.c1.update({"age":16},{"$set":{"address.zip":"111111"}});
    > db.c1.find({"age":16});
    { "_id" : ObjectId("4fc145e3703fa637a073651b"),
      "address" : { "location" : "linkin street no5", "zip" : "111111" },
      "age" : 16,
      "name" : "user16" }
    注意,在修改文檔的時(shí)候不要忘記使用"$set"修改器,否則的話(huà)原來(lái)的文檔會(huì)被
{"address.zip":"111111"}替代。
     4.數(shù)組修改器:對(duì)數(shù)組的修改,一般包括:添加元素值,刪除元素值。
     1).首先往一個(gè)文檔里面添加一個(gè)數(shù)組,比如在這里往:
     db.c1.find({"age":16});
    { "_id" : ObjectId("4fc145e3703fa637a073651b"),
      "address" : { "location" : "linkin street no5", "zip" : "111111" },
      "age" : 16,
      "name" : "user16" }
     添加一個(gè)"luckyNumber":[1,8,0]的鍵值對(duì)。可以使用前面的$set完成此操作。
     > db.c1.update({"age":16},{"$set":{"luckyNumber":[1,8,0]}});
     >db.c1.find({"age":16});
   { "_id" : ObjectId("4fc145e3703fa637a073651b"),
     "address" : { "location" : "linkin street no5", "zip" : "111111" },
     "age" : 16,
     "luckyNumber" : [ 1, 8, 0 ], "name" : "user16" }
     2).$push修改器:往"lucyNumber"中壓入一個(gè)數(shù)字,使用此修改器是往數(shù)組末尾追加一個(gè)數(shù)字。
     如:db.c1.update({"age":16},{"$push":{"luckyNumber":9}});
     > db.c1.find({"age":16});
{ "_id" : ObjectId("4fc145e3703fa637a073651b"), "address" : { "location" : "linkin street no5", "zip" : "111111" }, "age" : 16, "luckyNumber" : [ 1, 8, 0, 9 ], "name" : "user16" }
     其中l(wèi)uckyNumber多了一個(gè)數(shù)字9.
     如果繼續(xù)使用db.c1.update({"age":16},{"$push":{"luckyNumber":9}});會(huì)在再多出一個(gè)9.(此處省略)。
     3).$addToSet修改器:把數(shù)組當(dāng)成一個(gè)類(lèi)似于set集合,其中不能存放相同的值。
     如在2)的文檔中使用:db.c1.update({"age":16},{"$addToSet":{"luckyNumber":9}});
     結(jié)果會(huì)是:
      db.c1.find({"age":16});
{ "_id" : ObjectId("4fc145e3703fa637a073651b"), "address" : { "location" : "linkin street no5", "zip" : "111111" }, "age" : 16, "luckyNumber" : [ 1, 8, 0, 9 ], "name" : "user16" }
      其中l(wèi)uckyNumber還是只有一個(gè)9.

     4).$pop數(shù)組數(shù)據(jù)彈出:{"$pop":{key:1}}彈出數(shù)組尾部數(shù)據(jù),{"$pop":{key:-1}}彈出數(shù)組首部數(shù)據(jù),
     如要彈出luckyNumber的末尾數(shù)"9":
     > db.c1.update({"age":16},{"$pop":{"luckyNumber":1}});
     > db.c1.find({"age":16});
   { "_id" : ObjectId("4fc145e3703fa637a073651b"),
     "address" : { "location" : "linkin street no5", "zip" : "111111" },
     "age" : 16,
     "luckyNumber" : [ 1, 8, 0 ],
     "name" : "user16" }
     彈出luckyNumber中的首位數(shù)1:     
     > db.c1.update({"age":16},{"$pop":{"luckyNumber":-1}});
     > db.c1.find({"age":16});
{ "_id" : ObjectId("4fc145e3703fa637a073651b"),
  "address" : { "location" : "linkin street no5", "zip" : "111111" },
  "age" : 16,
  "luckyNumber" : [ 8, 0 ],
  "name" : "user16" }
 其中的1被彈出。
      

      以上是關(guān)于文檔基本屬性和數(shù)組屬性的更新最基本的操作。
    





 

 


網(wǎng)站標(biāo)題:MongoDB文檔更新(一)
本文鏈接:http://weahome.cn/article/gdcodc.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部