日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MongoDB学习笔记(一)--基础

發(fā)布時(shí)間:2023/12/13 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MongoDB学习笔记(一)--基础 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Insert???????????????????????????????????????????????????????????????????????????????????????

MongoDB在執(zhí)行插入時(shí),首先會(huì)將插入的數(shù)據(jù)轉(zhuǎn)換成BSON格式。然后MongoDB數(shù)據(jù)庫會(huì)對(duì)BSON進(jìn)行解剖,并檢查是否存在_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???????????????????????????????????????????????????????????????????????????????????????

全部查找

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

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

返回 id=1 的 title 字段

  • <, <=, >, >=

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

  • $all

$all 操作類似$in 操作,但是不同的是,$all 操作要求數(shù)組里面的值全部被包含在返回的記錄里面。

  • $exists

$exists 操作檢查一個(gè)字段是否存在。

$exists:true代表返回存在這個(gè)鍵的值。

$exists:false代表返回不存在這個(gè)鍵的值。

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

兩句話一樣的效果。

  • $ne

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

  • $in

$in 操作類似于傳統(tǒng)關(guān)系數(shù)據(jù)庫中的 IN。

  • $nin

$nin 跟$in 操作相反。

  • $or

  • $nor

$nor 跟$or 相反。

  • $size

$size 操作將會(huì)查詢數(shù)組長度等于輸入?yún)?shù)的數(shù)組。

  • skip

跳過前 2 條記錄。

  • limit

每頁返回 3 條記錄

  • sort()

sort()方法對(duì)返回記錄集按照指定字段進(jìn)行排序返回,1 表示升序,-1 表示降序。

  • count()

count()方法返回查詢記錄的總數(shù)目。

?

Remove?????????????????????????????????????????????????????????????????????????????????????

?

Update?????????????????????????????????????????????????????????????????????????????????????

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

參數(shù)說明:

Criteria:用于設(shè)置查詢條件的對(duì)象

Objnew:用于設(shè)置更新內(nèi)容的對(duì)象

Upsert:如果記錄已經(jīng)存在,更新它,否則新增一個(gè)記錄

Multi:如果有多個(gè)符合條件的記錄,全部更新

注意:默認(rèn)情況下,只會(huì)更新第一個(gè)符合條件的記錄

  • save()

如果存在更新它,如果不存在,新增記錄。

  • $inc

增加1,對(duì)int等有效。

對(duì)一個(gè)_id=3 的 user 的年齡進(jìn)行加 1,兩種方法。

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

把 field 的值設(shè)置成 value,當(dāng) field 不存在時(shí),增加一個(gè)字段,類似 SQL 的 set 操作,value 支持所有類型。

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

????? 刪除給定的字段 field。

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

如果 filed 是一個(gè)已經(jīng)存在的數(shù)組,那么把 value 追加給 field;

如果 field 原來不存在,那么新增 field 字段,把 value 的值賦給 field;

如果 field 存在,但是不是一個(gè)數(shù)組,將會(huì)出錯(cuò)。

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

功能同$push,只是這里的 value 是數(shù)組,相當(dāng)于對(duì)數(shù)組里的每一個(gè)值進(jìn)行$push操作。

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

如果 filed 是一個(gè)已經(jīng)存在的數(shù)組,并且 value 不在其中,那么把 value 加入到數(shù)組;

如果 filed 不存在,那么把 value 當(dāng)成一個(gè)數(shù)組形式賦給 field;$pop

如果 field 是一個(gè)已經(jīng)存在的非數(shù)組類型,那么將會(huì)報(bào)錯(cuò)。

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

刪除數(shù)組中最后一個(gè)元素

{ $pop : { field : -1 } }

刪除數(shù)組中第一個(gè)元素

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

如果 field 是一個(gè)數(shù)組,那么刪除符合_value 檢索條件的記錄;

如果 field 是一個(gè)已經(jīng)存在的非數(shù)組,那么會(huì)報(bào)錯(cuò)。

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

重命名指定的字段名稱。

?

?

轉(zhuǎn)載請(qǐng)注明出處:http://www.cnblogs.com/yydcdut/p/3557414.html

轉(zhuǎn)載于:https://www.cnblogs.com/yydcdut/p/3557414.html

總結(jié)

以上是生活随笔為你收集整理的MongoDB学习笔记(一)--基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。