minimongodb コマンド集

カテゴリー:Meteor 作成日:2015年2月3日21:56

meteor に組み込みのminimongodb のコマンド



meteor で使われるデータベース名は meteor で起動中に別 Shell から meteor mongoで起動する。
mongodbではテーブルをコレクションと言う Json形式で値を受け渡しする。
インサート文

db.collection.insert( { name: 'hoge', comment: 'memo', createAt: new Date() } );     
  // _idは自動で追加される。 primary keyになる。

アップデート文

db.collection.update( {name: 'hoge'}, {$set: {comment: memo1}} );
 // nameフィールドの'hoge'を検索して comment フィールドを memo1 へ変更している。
 // 複数項目更新するには ,{multi: true}を追加する
db.collection.update( {name: 'hoge'}, {$set: {comment: memo1, comment2: memo2 },{multi: true}} );

削除文

db.collection.drop();      // コレクション自体も削除される。
db.collection.remove(); // コレクションの中身が削除される。

検索文

db.collection.find();   // 古い順に全て検索
db.collection.find( {}, {sort: {createAt: -1}, skip: 0, limit: 30} );
// 「createAt: -1」 は書き込み日付の新しい順に 「skip: 0」は先頭から0を10にすると10件分よみ飛ばす 「limit: 30」 30件分検索
db.collenction.find( {name: 'hoge'} );  // select from collection where name='hoge'
db.collection.find( {name: '/hoge/'} ); // select from collection where name LIKE '%hoge%'
db.collection.find( {a: 1, b: 2} );            // select from collection where a=1 AND b=2
db.collection.find( { a: { $gt: 1} } );      // select from collection where a>
db.collection.find( { a: { $gt: 1}, b:{ $lt: 2} } );     // select from collection where (a>1 AND b<2)
db.collection.find( {$or: [a: { $gt: 1}, b:{ $lt: 2}] } );       // select from collection where (a>1 OR b<2)

ちなみに以下のようだ

  $gt  >
  $lt  <
  $ne  !=
  $gte >=
  $lte <=
  $or  OR

カウント数

db.collection.count(); // select COUNT(*) from collection
db.collection.find( {a: {$gt: 1}} ).count();

リミット

db.collection.findOne(); // select from collection LIMIT 1
db.collection.limit(5); //select from collection LIMIT 5

ダンプとリストア ( minimongodb に使えるのかは不明 )

mongodump --out mongodb.backup //全てのデータベースをバックアップ
mongodump --db collection --out collection.backup // 任意のデータベースをバックアップ
mongorestore --drop mongodb.backup // リストア

コメントを投稿する


お名前:kiyo 作成日:2024年1月23日22:49

mongodump はminimongodbではやっぱり無理だった。