Skip to content

Instantly share code, notes, and snippets.

@LeeDDHH
Last active July 7, 2021 07:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LeeDDHH/5853a0ca7dd2ebbb1733829d46d2fbff to your computer and use it in GitHub Desktop.
Save LeeDDHH/5853a0ca7dd2ebbb1733829d46d2fbff to your computer and use it in GitHub Desktop.
MongoDBの操作方法に関するあれこれ

システム操作

新規DBを作成

use <新しいDB名>

今使っているDBを確認する

db

今使っているDBのコレクションを確認する

db.getCollectionNames()
もしくは
show collections
もしくは
show tables

コレクションの内容を表示する

db.コレクション名.find()

表示項目の例

{ "_id" : ObjectId("60e4392f718712c41ec29ead") }
{ "_id" : ObjectId("60e43982050f0b24315fa217"), "name" : "kamo", "email" : "test1@gmail.com", "note" : "none" }
  • _id には、DB内で要素の識別ができるようにするユニークな値
  • ObjectId
    • MongoDBで扱っているクラス
    • ObjectIdのコンストラクタに渡している16進数には、 ドキュメントレコードの日時を示すタイムスタンプDBシステムに関する情報

CRUD系

コレクションにデータを追加する

db.コレクション名.insert({
  キー: バリュー,
  キー: バリュー,
  キー: バリュー
})

特定の要素を探す

db.コレクション名.find({_id: ObjectId("16進数の文字列")})

DB内でマッチする要素を1つ探す

// ランダムに一つの要素を探す
db.コレクション名.findOne()

// 特定の条件にマッチする要素を探す
db.コレクション名.findOne({ name: 'kamo' })

特定要素を更新する

MongoDB 4.2~

db.コレクション名.updateOne({マッチするドキュメントの条件}, { $set: {更新するドキュメントの内容} })
もしくは
db.コレクション名.updateOne({マッチするドキュメントの条件}, { $unset: {更新するドキュメントの内容} })
もしくは
db.コレクション名.updateOne({マッチするドキュメントの条件}, { $replaceWith: {更新するドキュメントの内容} })

特定要素を削除する

db.コレクション名.deleteOne({name: 'kamo'})

特定要素にマッチするすべての要素を削除する

db.コレクション名.deleteMany({name: 'kamo'})

参考

How can I list all collections in the MongoDB shell? - Stack Overflow

mongodb - Error: the update operation document must contain atomic operators, when running updateOne - Stack Overflow

db.collection.updateOne() — MongoDB Manual

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment