[MongoDB]DBとCRUDの作成
インストール後にDBを作成
1.mongodbの実行
1.mongodbの実行
前回述べたようにbrewでmongodbサーバを実行します.mongodbclientも実行します.
...以下のコマンドは省略...
mongodbコマンドを入力できるshellがアクティブになります.# mongo
>
--------------------------------
2.DBの作成
+)現在使用されているDBをチェック
作成する前に、現在使用されているDBが何であるかを確認してみましょう.> db
test
testというdbがあることを確認できます.
私は.何もしてないみたい…?前回インストールした時にやったようですが...
本当のことをしましょう.mongodbにDBを作成するコマンドを入力します.次に、現在使用されているdbを確認します.
use$で使用するdb名> use mongo_practice1
switched to db mongo_practice1
> db
mongo_practice1
use
コマンドを使用してmongodbを生成すると、dbは作成時にアクティブになります.
+)データベース・リストのチェック
今何があるか見てみろdb> show dbs
admin 0.000GB
config 0.000GB
dbsparta 0.000GB
local 0.000GB
既存のテストと私が作成したmongo実践1はリストにありません!
リストに表示するには、少なくとも1つのドキュメントを生成する必要があります.
3.MongoDBのC.R.U.D
ドキュメントを作成します.つまり、CRUDで作成します.そのためには、まずMongoDBのCRUDコマンドを知る必要があります.
注意:https://myjamong.tistory.com/57?category=835222
-作成さくせい:作成(挿入)さくせい(そうにゅう)
新しいコレクション名を入力すると、すぐにそのコレクションが作成され、そのコレクションのドキュメントも作成されます.
db.$collection.insert({key:value})
-検索:Read(検索)
すべてのクエリー
db.$collection.find()
条件付きクエリー
db.$collection.find({key:value})
<サンプル条件クエリー>
-更新する:更新する
ドキュメント全体の変更
db.$collection.update({既存のドキュメントを指定するキー:value},{新しく変更したキー:value})
特定の値の変更または新規値の作成
db.$collection.update({既存のドキュメントを指定するキー:value},{$set:{追加するキー:追加する値})
-削除:Delete
特定のフィールドの削除(update-sunsetを使用)
db.$collection.update({既存のドキュメントを指定するキー:value},{$unset:{削除するキー:その値})
特定のドキュメントの削除
db.$collection.remove({条件キー:その値})
特定のコレクションの削除
db.$collection.update({})
4.文書の作成
上記のコマンドに従ってmongo_practice1
に新しいcollectionとdocumentを作成します.
氏名/生年月日/電子メール/趣味(1~3個)/コロナワクチン接種の有無(T/F)> use mongo_practice1
> db.users.insert({name : "jello", birth : 950403, email : "[email protected]", hobby : ["hiking", "watch movie"], vaccination : False})
私はboolean
の価値があることを知っています.しかし、エラーが発生しました.uncaught exception: ReferenceError: False is not defined :
簡単です.大文字ではなく、小文字を入力すればいいです.> use mongo_practice1
> db.users.insert({name : "jello", birth : 950403, email : "[email protected]", hobby : ["hiking", "watch movie"], vaccination : false})
WriteResult({ "nInserted" : 1 })
あとで確認!> use mongo_practice1
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
> show dbs
admin 0.000GB
config 0.000GB
dbsparta 0.000GB
local 0.000GB
mongo_practice1 0.000GB
💡 参考までにmongodbはdocumentのidで、名前_id
は自動的に値を生成します!
もう少しやってみる> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "name" : "뚜비", "birth" : 930705, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking, singing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
😢 よく見ると、ナナの趣味の引用符に誤字があった.でもどうして間違えないの...?本当に入力を押して保存しますか、、、?
すぐに修正しましょう.> use mongo_practice1 #이건그냥 보험삼아 해주는것. 혹여나 다른db 쓰고있을경우도 있으니 습관처럼 입력하자
> db.users.update({name:"나나"}, {$set : {hobby : ["walking", "singing"]}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "name" : "뚜비", "birth" : 930705, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking", "singing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
+)各種タスクの実行
1.複数の条件を満たす文書を修正する
DjangoのORMでfilterでquerysetのすべてのオブジェクトの値を変更したように、複数の条件の値を更新できます.
ワクチン接種の対象に対して最も好きな果物:イチゴ畑を生成する.> use mongo_practice1
> db.users.update({vaccination : true}, {fruit : "strawberry"}, {multi : true})
様々な条件が変更されるので、複数の値にtrueを指定します.
そうでなければ、変更は最初のオブジェクトにのみ反映されます.
▼ミス。
... うん...ミスをしました.
まず,$set
命令語が使用されなかったため,対応する文書の内容は徹底的に覆された.複数の値が与えられていないため、最初に対応するオブジェクトのみが修正されます.> db.users.update({vaccination : true}, {fruit : "strawberry"})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "fruit" : "strawberry" }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking", "singing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
元に戻して、よく更新してください.> db.users.update({fruit:"strawberry"}, {name : "뚜비", birth : 930705, email : "[email protected]", hobby : ["dancing"], vaccination : true})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "name" : "뚜비", "birth" : 930705, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking", "singing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
> db.users.update({vaccination : true}, {$set : {fruit : "strawberry"}}, {multi : true})
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "name" : "뚜비", "birth" : 930705, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : true, "fruit" : "strawberry" }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking", "singing" ], "vaccination" : true, "fruit" : "strawberry" }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
2.GUI検証の使用
前にStudio 3 Tが取り付けられていました.私のローカルmongodbに接続して確認してください!
datatypeからObjectId / String / Double / Array / Bool
の形態が見られる.
--------------------------------
5.DBの削除
不要なDBを削除しましょう.> use #삭제할db이름
> db.dropDatabase()
まだmongo実践1を削除していません…!!🔥
Reference
この問題について([MongoDB]DBとCRUDの作成), 我々は、より多くの情報をここで見つけました
https://velog.io/@c_hyun403/mongoDB-DB생성과-CRUD
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
# mongo
>
2.DBの作成
+)現在使用されているDBをチェック
作成する前に、現在使用されているDBが何であるかを確認してみましょう.> db
test
testというdbがあることを確認できます.
私は.何もしてないみたい…?前回インストールした時にやったようですが...
本当のことをしましょう.mongodbにDBを作成するコマンドを入力します.次に、現在使用されているdbを確認します.
use$で使用するdb名> use mongo_practice1
switched to db mongo_practice1
> db
mongo_practice1
use
コマンドを使用してmongodbを生成すると、dbは作成時にアクティブになります.
+)データベース・リストのチェック
今何があるか見てみろdb> show dbs
admin 0.000GB
config 0.000GB
dbsparta 0.000GB
local 0.000GB
既存のテストと私が作成したmongo実践1はリストにありません!
リストに表示するには、少なくとも1つのドキュメントを生成する必要があります.
3.MongoDBのC.R.U.D
ドキュメントを作成します.つまり、CRUDで作成します.そのためには、まずMongoDBのCRUDコマンドを知る必要があります.
注意:https://myjamong.tistory.com/57?category=835222
-作成さくせい:作成(挿入)さくせい(そうにゅう)
新しいコレクション名を入力すると、すぐにそのコレクションが作成され、そのコレクションのドキュメントも作成されます.
db.$collection.insert({key:value})
-検索:Read(検索)
すべてのクエリー
db.$collection.find()
条件付きクエリー
db.$collection.find({key:value})
<サンプル条件クエリー>
-更新する:更新する
ドキュメント全体の変更
db.$collection.update({既存のドキュメントを指定するキー:value},{新しく変更したキー:value})
特定の値の変更または新規値の作成
db.$collection.update({既存のドキュメントを指定するキー:value},{$set:{追加するキー:追加する値})
-削除:Delete
特定のフィールドの削除(update-sunsetを使用)
db.$collection.update({既存のドキュメントを指定するキー:value},{$unset:{削除するキー:その値})
特定のドキュメントの削除
db.$collection.remove({条件キー:その値})
特定のコレクションの削除
db.$collection.update({})
4.文書の作成
上記のコマンドに従ってmongo_practice1
に新しいcollectionとdocumentを作成します.
氏名/生年月日/電子メール/趣味(1~3個)/コロナワクチン接種の有無(T/F)> use mongo_practice1
> db.users.insert({name : "jello", birth : 950403, email : "[email protected]", hobby : ["hiking", "watch movie"], vaccination : False})
私はboolean
の価値があることを知っています.しかし、エラーが発生しました.uncaught exception: ReferenceError: False is not defined :
簡単です.大文字ではなく、小文字を入力すればいいです.> use mongo_practice1
> db.users.insert({name : "jello", birth : 950403, email : "[email protected]", hobby : ["hiking", "watch movie"], vaccination : false})
WriteResult({ "nInserted" : 1 })
あとで確認!> use mongo_practice1
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
> show dbs
admin 0.000GB
config 0.000GB
dbsparta 0.000GB
local 0.000GB
mongo_practice1 0.000GB
💡 参考までにmongodbはdocumentのidで、名前_id
は自動的に値を生成します!
もう少しやってみる> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "name" : "뚜비", "birth" : 930705, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking, singing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
😢 よく見ると、ナナの趣味の引用符に誤字があった.でもどうして間違えないの...?本当に入力を押して保存しますか、、、?
すぐに修正しましょう.> use mongo_practice1 #이건그냥 보험삼아 해주는것. 혹여나 다른db 쓰고있을경우도 있으니 습관처럼 입력하자
> db.users.update({name:"나나"}, {$set : {hobby : ["walking", "singing"]}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "name" : "뚜비", "birth" : 930705, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking", "singing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
+)各種タスクの実行
1.複数の条件を満たす文書を修正する
DjangoのORMでfilterでquerysetのすべてのオブジェクトの値を変更したように、複数の条件の値を更新できます.
ワクチン接種の対象に対して最も好きな果物:イチゴ畑を生成する.> use mongo_practice1
> db.users.update({vaccination : true}, {fruit : "strawberry"}, {multi : true})
様々な条件が変更されるので、複数の値にtrueを指定します.
そうでなければ、変更は最初のオブジェクトにのみ反映されます.
▼ミス。
... うん...ミスをしました.
まず,$set
命令語が使用されなかったため,対応する文書の内容は徹底的に覆された.複数の値が与えられていないため、最初に対応するオブジェクトのみが修正されます.> db.users.update({vaccination : true}, {fruit : "strawberry"})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "fruit" : "strawberry" }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking", "singing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
元に戻して、よく更新してください.> db.users.update({fruit:"strawberry"}, {name : "뚜비", birth : 930705, email : "[email protected]", hobby : ["dancing"], vaccination : true})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "name" : "뚜비", "birth" : 930705, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking", "singing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
> db.users.update({vaccination : true}, {$set : {fruit : "strawberry"}}, {multi : true})
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "name" : "뚜비", "birth" : 930705, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : true, "fruit" : "strawberry" }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking", "singing" ], "vaccination" : true, "fruit" : "strawberry" }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
2.GUI検証の使用
前にStudio 3 Tが取り付けられていました.私のローカルmongodbに接続して確認してください!
datatypeからObjectId / String / Double / Array / Bool
の形態が見られる.
--------------------------------
5.DBの削除
不要なDBを削除しましょう.> use #삭제할db이름
> db.dropDatabase()
まだmongo実践1を削除していません…!!🔥
Reference
この問題について([MongoDB]DBとCRUDの作成), 我々は、より多くの情報をここで見つけました
https://velog.io/@c_hyun403/mongoDB-DB생성과-CRUD
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
> db
test
> use mongo_practice1
switched to db mongo_practice1
> db
mongo_practice1
> show dbs
admin 0.000GB
config 0.000GB
dbsparta 0.000GB
local 0.000GB
ドキュメントを作成します.つまり、CRUDで作成します.そのためには、まずMongoDBのCRUDコマンドを知る必要があります.
注意:https://myjamong.tistory.com/57?category=835222
-作成さくせい:作成(挿入)さくせい(そうにゅう)
新しいコレクション名を入力すると、すぐにそのコレクションが作成され、そのコレクションのドキュメントも作成されます.
db.$collection.insert({key:value})
-検索:Read(検索)
すべてのクエリー
db.$collection.find()
条件付きクエリー
db.$collection.find({key:value})
<サンプル条件クエリー>
-更新する:更新する
ドキュメント全体の変更
db.$collection.update({既存のドキュメントを指定するキー:value},{新しく変更したキー:value})
特定の値の変更または新規値の作成
db.$collection.update({既存のドキュメントを指定するキー:value},{$set:{追加するキー:追加する値})
-削除:Delete
特定のフィールドの削除(update-sunsetを使用)
db.$collection.update({既存のドキュメントを指定するキー:value},{$unset:{削除するキー:その値})
特定のドキュメントの削除
db.$collection.remove({条件キー:その値})
特定のコレクションの削除
db.$collection.update({})
4.文書の作成
上記のコマンドに従ってmongo_practice1
に新しいcollectionとdocumentを作成します.
氏名/生年月日/電子メール/趣味(1~3個)/コロナワクチン接種の有無(T/F)> use mongo_practice1
> db.users.insert({name : "jello", birth : 950403, email : "[email protected]", hobby : ["hiking", "watch movie"], vaccination : False})
私はboolean
の価値があることを知っています.しかし、エラーが発生しました.uncaught exception: ReferenceError: False is not defined :
簡単です.大文字ではなく、小文字を入力すればいいです.> use mongo_practice1
> db.users.insert({name : "jello", birth : 950403, email : "[email protected]", hobby : ["hiking", "watch movie"], vaccination : false})
WriteResult({ "nInserted" : 1 })
あとで確認!> use mongo_practice1
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
> show dbs
admin 0.000GB
config 0.000GB
dbsparta 0.000GB
local 0.000GB
mongo_practice1 0.000GB
💡 参考までにmongodbはdocumentのidで、名前_id
は自動的に値を生成します!
もう少しやってみる> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "name" : "뚜비", "birth" : 930705, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking, singing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
😢 よく見ると、ナナの趣味の引用符に誤字があった.でもどうして間違えないの...?本当に入力を押して保存しますか、、、?
すぐに修正しましょう.> use mongo_practice1 #이건그냥 보험삼아 해주는것. 혹여나 다른db 쓰고있을경우도 있으니 습관처럼 입력하자
> db.users.update({name:"나나"}, {$set : {hobby : ["walking", "singing"]}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "name" : "뚜비", "birth" : 930705, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking", "singing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
+)各種タスクの実行
1.複数の条件を満たす文書を修正する
DjangoのORMでfilterでquerysetのすべてのオブジェクトの値を変更したように、複数の条件の値を更新できます.
ワクチン接種の対象に対して最も好きな果物:イチゴ畑を生成する.> use mongo_practice1
> db.users.update({vaccination : true}, {fruit : "strawberry"}, {multi : true})
様々な条件が変更されるので、複数の値にtrueを指定します.
そうでなければ、変更は最初のオブジェクトにのみ反映されます.
▼ミス。
... うん...ミスをしました.
まず,$set
命令語が使用されなかったため,対応する文書の内容は徹底的に覆された.複数の値が与えられていないため、最初に対応するオブジェクトのみが修正されます.> db.users.update({vaccination : true}, {fruit : "strawberry"})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "fruit" : "strawberry" }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking", "singing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
元に戻して、よく更新してください.> db.users.update({fruit:"strawberry"}, {name : "뚜비", birth : 930705, email : "[email protected]", hobby : ["dancing"], vaccination : true})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "name" : "뚜비", "birth" : 930705, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking", "singing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
> db.users.update({vaccination : true}, {$set : {fruit : "strawberry"}}, {multi : true})
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "name" : "뚜비", "birth" : 930705, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : true, "fruit" : "strawberry" }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking", "singing" ], "vaccination" : true, "fruit" : "strawberry" }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
2.GUI検証の使用
前にStudio 3 Tが取り付けられていました.私のローカルmongodbに接続して確認してください!
datatypeからObjectId / String / Double / Array / Bool
の形態が見られる.
--------------------------------
5.DBの削除
不要なDBを削除しましょう.> use #삭제할db이름
> db.dropDatabase()
まだmongo実践1を削除していません…!!🔥
Reference
この問題について([MongoDB]DBとCRUDの作成), 我々は、より多くの情報をここで見つけました
https://velog.io/@c_hyun403/mongoDB-DB생성과-CRUD
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
> use mongo_practice1
> db.users.insert({name : "jello", birth : 950403, email : "[email protected]", hobby : ["hiking", "watch movie"], vaccination : False})
uncaught exception: ReferenceError: False is not defined :
> use mongo_practice1
> db.users.insert({name : "jello", birth : 950403, email : "[email protected]", hobby : ["hiking", "watch movie"], vaccination : false})
WriteResult({ "nInserted" : 1 })
> use mongo_practice1
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
> show dbs
admin 0.000GB
config 0.000GB
dbsparta 0.000GB
local 0.000GB
mongo_practice1 0.000GB
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "name" : "뚜비", "birth" : 930705, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking, singing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
> use mongo_practice1 #이건그냥 보험삼아 해주는것. 혹여나 다른db 쓰고있을경우도 있으니 습관처럼 입력하자
> db.users.update({name:"나나"}, {$set : {hobby : ["walking", "singing"]}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "name" : "뚜비", "birth" : 930705, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking", "singing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
1.複数の条件を満たす文書を修正する
DjangoのORMでfilterでquerysetのすべてのオブジェクトの値を変更したように、複数の条件の値を更新できます.
ワクチン接種の対象に対して最も好きな果物:イチゴ畑を生成する.
> use mongo_practice1
> db.users.update({vaccination : true}, {fruit : "strawberry"}, {multi : true})
様々な条件が変更されるので、複数の値にtrueを指定します.そうでなければ、変更は最初のオブジェクトにのみ反映されます.
▼ミス。
... うん...ミスをしました.
まず,
$set
命令語が使用されなかったため,対応する文書の内容は徹底的に覆された.複数の値が与えられていないため、最初に対応するオブジェクトのみが修正されます.> db.users.update({vaccination : true}, {fruit : "strawberry"})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "fruit" : "strawberry" }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking", "singing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
元に戻して、よく更新してください.> db.users.update({fruit:"strawberry"}, {name : "뚜비", birth : 930705, email : "[email protected]", hobby : ["dancing"], vaccination : true})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "name" : "뚜비", "birth" : 930705, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking", "singing" ], "vaccination" : true }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
> db.users.update({vaccination : true}, {$set : {fruit : "strawberry"}}, {multi : true})
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })
> db.users.find()
{ "_id" : ObjectId("60bcd8101abf6cdd64bfc938"), "name" : "jello", "birth" : 950403, "email" : "[email protected]", "hobby" : [ "hiking", "watch movie" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9b91abf6cdd64bfc939"), "name" : "보라돌이", "birth" : 901105, "email" : "[email protected]", "hobby" : [ "talking", "listening music" ], "vaccination" : false }
{ "_id" : ObjectId("60bcd9d91abf6cdd64bfc93a"), "name" : "뚜비", "birth" : 930705, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : true, "fruit" : "strawberry" }
{ "_id" : ObjectId("60bcd9fd1abf6cdd64bfc93b"), "name" : "나나", "birth" : 940205, "email" : "[email protected]", "hobby" : [ "walking", "singing" ], "vaccination" : true, "fruit" : "strawberry" }
{ "_id" : ObjectId("60bcda181abf6cdd64bfc93c"), "name" : "뽀", "birth" : 200605, "email" : "[email protected]", "hobby" : [ "dancing" ], "vaccination" : false }
2.GUI検証の使用
前にStudio 3 Tが取り付けられていました.私のローカルmongodbに接続して確認してください!
datatypeから
ObjectId / String / Double / Array / Bool
の形態が見られる.--------------------------------
5.DBの削除
不要なDBを削除しましょう.> use #삭제할db이름
> db.dropDatabase()
まだmongo実践1を削除していません…!!🔥
Reference
この問題について([MongoDB]DBとCRUDの作成), 我々は、より多くの情報をここで見つけました
https://velog.io/@c_hyun403/mongoDB-DB생성과-CRUD
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
不要なDBを削除しましょう.
> use #삭제할db이름
> db.dropDatabase()
まだmongo実践1を削除していません…!!🔥Reference
この問題について([MongoDB]DBとCRUDの作成), 我々は、より多くの情報をここで見つけました https://velog.io/@c_hyun403/mongoDB-DB생성과-CRUDテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol