MongoDB文件的增刪改操作

2021-09-09 01:18:59 字數 3634 閱讀 5450

這一次,就通過mongodb shell介紹一下對文件的增刪改操作。

通過「show dbs」可以看到所有的資料庫。然後我們通過「use blog」切換到blog資料庫來開始下面的演示。

使用「db」命令顯示當前正在使用的資料庫。

1 c:\mongodb\bin>mongo.exe

2 mongodb shell version: 2.4.6

3 connecting to: test

4 > show dbs

5 local 0.078125gb

6 >

7 > use blog

8 switched to db blog 9 > 10 > db 11 blog 12 >

接下來就開始新建文件,插入文件的操作了

1 > post1 = 

27 >db.blog.posts.insert(post1)

8 > db.blog.posts.find

()9

11 >show collections

12blog.posts

13system.indexes

14 >

通過相同的方式插入新的文件。

post2 = 

post3 =

post4 =

通過remove操作,可以對文件進行刪除。如果沒有任何引數,remove將會刪除collection中所有的文件,而且刪除操作是不可逆的,所以要小心操作。

1 >db.blog.posts.remove()

2 > db.blog.posts.find

()3 >

同時,remove操作可以支援條件刪除。

1 > db.blog.posts.find

()2

4 6

8 10 >

11 >

12 > db.blog.posts.remove()

13 > db.blog.posts.find

()14

16 18

20 >

可以通過update方法更新資料庫中的文件,update有兩個引數,乙個是查詢文件,用來找出要更新的文件,另乙個是修改器文件,描述多找到的文件進行怎樣的更新。

文件的更新可以分為兩種:文件替換和使用修改器更新

當文件的模式變化很大的時候,一般都是採用文件替換的方式進行文件更新。

1 > post1.detailinfo = 

2 3 >delete post1.author

4true

5 > db.blog.posts.update(, post1)

6 > db.blog.posts.find()

7 }

9 >

對於只需要部分更新的文件,通過修改器更新會很方便。直接上例子。

$set: 修改文件的乙個指定鍵的值,如果沒有則建立。

1 > db.blog.posts.update(, })

2 > db.blog.posts.find()

3 5 > db.blog.posts.update(, })

6 > db.blog.posts.find()

7 9 >

$addtoset, $push, $pop:這三個都是對陣列的操作,$addtoset能夠避免重複新增

1 > comments =

2[ ]

3 > comment0 =

4 5 > comment1 =

6 7 >

8 > db.blog.posts.update(, })

9 > db.blog.posts.update(, })

10 > db.blog.posts.update(, })

11 > db.blog.posts.update(, })

12 > db.blog.posts.find()

13 , ], "

date

" : isodate("

2014-11-29t07:12:

1505.591z"

), "title"

: "how to learn c#"

}16 > db.blog.posts.update(, })

17 > db.blog.posts.find()

18 , , ],

"date

": isodate(

"2014-11-29t07:12:05.591z"

), "title"

: "how to learn c#"

}21 > db.blog.posts.update(, })

22 > db.blog.posts.find()

23 , ], "

date

" : isodate("

2014-11-29t07:12:

2505.591z"

), "title"

: "how to learn c#"

}26 >

$inc:這個跟$set的用法類似,只不過$inc是專門針對數字操作的。

1 > db.blog.posts.update(, })

2 > db.blog.posts.find()

3 , ], "

date

" : isodate("

2014-11-29t07:12:

505.591z"

), "title"

: "how to learn c#"

}6 >

$unset:這個命令是用來刪除指定鍵的。

1 > db.blog.posts.update(, })

2 > db.blog.posts.find()

3

上面已經介紹了update的前兩個引數的含義和用法,其實update命令還有兩個引數。

arg3:這個引數代表upsert用法;如果這個引數設定為true,那麼就會使用upsert的方式更新文件。

1 > db.blog.posts.update(, , true

)2 > db.blog.posts.find()

3 4 >

arg4:這個引數可以設定是否批量更新

1 >db.blog.posts.insert(post1)

2 > db.blog.posts.find()

3 }

5 }

7 > db.blog.posts.update(, }, false, true

)8 >

9 > db.blog.posts.find()

10 , "

title

" : "

how to learn mongodb"}

12 , "

title

" : "

how to learn mongodb"}

14 >

這篇文章主要介紹了通過mongodb shell對資料庫文件進行增刪改操作,接下來會介紹查詢的操作。

MongoDB 文件字段增刪改

mongodb 基於crud create,read,update,delete 方式實現了對集合上的文件進行增刪改查。對於集合上字段的增刪改,可以使用set或者unset修改器來實現。也可以使用文件替換的方式來實現。本文主要描述集合上字段的增刪改,以及基於選項upsert的更新。a.語法描述 db...

MongoDB 文件字段增刪改

mongodb 基於crud create,read,update,delete 方式實現了對集合上的文件進行增刪改查。對於集合上字段的增刪改,可以使用se t或者unset修改器來實現。也可以使用文件替換的方式來實現。本文主要描述集合上字段的增刪改,以及基於選項upsert的更新。關於mongod...

mongodb增刪改查基本操作

mongodb資料庫基本用法 查詢 1.條件操作符的使用,日期格式的查詢,長度 db.getcollection interougeproduct find interougestockmaps 2.查詢列只顯示指定字段 1 表示展示,0表示隱藏 db.getcollection interouge...