MongoDB(二)追加削除--私たちがよく知っている操作
12786 ワード
MongoDBを起動する方法とshellで接続する方法について説明しましたが、mysqlでよく知っている操作を紹介します.データベースの作成データベースを削除現在のデータベースを削除します.デフォルトはtestです.次の例では、新規zxmantouライブラリを削除します. 削除集合(削除データテーブル)削除集合削除構文フォーマットは、 である.挿入ドキュメント(新規レコード)MongoDBはinsert()またはsave()メソッドを使用してセットにドキュメントを挿入します.構文は次のとおりです. 更新ドキュメント(更新レコード)MongoDBは、update()およびsave()メソッドを使用して、セット内のドキュメントを更新します.次に、2つの関数の応用とその違いを詳しく見てみましょう.5.1 Update()メソッド:update()メソッドは、既存のドキュメントを更新するために使用されます.構文フォーマットは次のとおりです:
私たちはさっき記録を挿入して、今それを修正しました:
例:次の例で置き換えました.id 58 e 4 d 75 bbe 3140034 aeb 2 ba 1のドキュメントデータ: 最初のレコードのみ更新: すべて更新: 第1条のみ追加: すべて追加: すべて更新: 最初のレコードのみ更新: ドキュメント削除(レコード削除)remove()メソッドの基本構文フォーマットは、次のとおりです.
例:
すべてのデータを削除する場合は、次の方法を使用します(通常のSQLのtruncateコマンドと同様).ドキュメント(クエリーレコード)をクエリーする前の例では、find()メソッドを使用してすべてのレコードをクエリーする方法を示しています.次の内容では、複雑なクエリー方法 について詳しく説明します.
MongoDB :
```
use DATABASE_NAME
```
, , 。
```shell
> use zxmantou
switched to db zxmantou
> db
zxmantou
>
```
db zxmantou , **show dbs**
```shell
> show dbs
admin 0.000GB
local 0.000GB
test 0.000GB
```
. , zxmantou 。
```shell
> db.user.insert({name:"zxmantou"})
WriteResult({ "nInserted" : 1 })
> show dbs
admin 0.000GB
local 0.000GB
test 0.000GB
zxmantou 0.000GB
>
```
> show dbs
admin 0.000GB
local 0.000GB
test 0.000GB
zxmantou 0.000GB
> db
zxmantou
> db.dropDatabase()
{ "dropped" : "zxmantou", "ok" : 1 }
> show dbs
admin 0.000GB
local 0.000GB
test 0.000GB
db.COLLECTION_NAME.drop()
例:> use zxmantou
switched to db zxmantou
> show tables
user
> db.user.drop()
true
> show tables
>
db.COLLECTION_NAME.insert(document)
インスタンス:> use zxmantou
switched to db zxmantou
> db.user.insert({
... name:"zxmantou",
... age:"27",
... gender: "male",
... site: "www.zhangyuxiaojiao.com"
... })
WriteResult({ "nInserted" : 1 })
> db.user.find()
{ "_id" : ObjectId("58e4d75bbe3140034aeb2ba1"), "name" : "zxmantou", "age" : "27", "gender" : "male", "site" : "www.zhan
gyuxiaojiao.com" }
>
以上のインスタンスではuserは私たちのセット名(データテーブル名)です.このセットがデータベースにない場合、MongoDBは自動的にセットマージ挿入ドキュメント(行レコード)を作成します.```
db.COLLECTION_NAME.update(
,
,
{
upsert: ,
multi: ,
writeConcern:
}
)
```
:
query : update , sql update where 。
update : update ( $,$inc...) , sql update set
upsert : , , update , objNew,true , false, 。
multi : ,mongodb false, , true, 。
writeConcern : , 。
私たちはさっき記録を挿入して、今それを修正しました:
> db.user.find()
{ "_id" : ObjectId("58e4d75bbe3140034aeb2ba1"), "name" : "zxmantou", "age" : "27", "gender" : "male", "site" : "www.zhan
gyuxiaojiao.com" }
> db.user.update({'name':'zxmantou'},{$set:{'age':18}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.user.find().pretty()
{
"_id" : ObjectId("58e4d75bbe3140034aeb2ba1"),
"name" : "zxmantou",
"age" : 18,
"gender" : "male",
"site" : "www.zhangyuxiaojiao.com"
}
>
年齢が18歳になったことがわかります~5.2 save()メソッドsave()メソッドは、入力されたドキュメントを通じて既存のドキュメントに置き換えられます.構文フォーマットは次のとおりです:db.collection.save(
<document>,
{
writeConcern:
}
)
:
document : 。
writeConcern : , 。
例:次の例で置き換えました.id 58 e 4 d 75 bbe 3140034 aeb 2 ba 1のドキュメントデータ:
> db.user.save({
... "_id" : ObjectId("58e4d75bbe3140034aeb2ba1"),
... "name" : "zhangyuxiaojiao",
... "gender" : "male",
... "age" : "27",
... "site" : "zxmantou.github.io"
... })
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.user.find().pretty()
{
"_id" : ObjectId("58e4d75bbe3140034aeb2ba1"),
"name" : "zhangyuxiaojiao",
"gender" : "male",
"age" : "27",
"site" : "zxmantou.github.io"
}
>
より多くのインスタンスdb.col.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } );
db.col.update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true );
db.col.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false );
db.col.update( { "count" : { $gt : 5 } } , { $set : { "test5" : "OK"} },true,true );
db.col.update( { "count" : { $gt : 15 } } , { $inc : { "count" : 1} },false,true );
db.col.update( { "count" : { $gt : 10 } } , { $inc : { "count" : 1} },false,false );
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
:
query :( ) 。
justOne : ( ) true 1, 。
writeConcern :( ) 。
例:
> db.user.find().pretty()
{
"_id" : ObjectId("58e4d75bbe3140034aeb2ba1"),
"name" : "zhangyuxiaojiao",
"gender" : "male",
"age" : "27",
"site" : "zxmantou.github.io"
}
> db.user.remove({'name':'zhangyuxiaojiao'})
WriteResult({ "nRemoved" : 1 })
> db.user.find().pretty()
>
すべてのデータを削除する場合は、次の方法を使用します(通常のSQLのtruncateコマンドと同様).
>db.col.remove({})