這一次,就通過mongodb shell介紹一下對文件的增刪改操作。
通過「show dbs」可以看到所有的資料庫。然後我們通過「use blog」切換到blog資料庫來開始下面的演示。
使用「db」命令顯示當前正在使用的資料庫。
1 c:\mongodb\bin>mongo.exe2 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...