MongoDB的Shell操作方法备忘录
方便的页面
公式 – Formula
MongoDB Javascript API Docs
mondodbのjsの仕様がわかる
Read — MongoDB Manual
findの基本的な使い方の例
Operator Reference — MongoDB Manual
findの範囲指定などのオペレーターの例
SQL to MongoDB Mapping Chart — MongoDB Manual
SQLでの操作とmongodbでの操作の対応表
高度なクエリー – Docs-Japanese – 10gen Confluence
使えるオペレーター一覧、データ型一覧、より高度な使い方など日本語ドキュメント
mongo/jstests at master · mongodb/mongo · GitHub
jsで書かれたmongodbのテスト用スクリプトが大量にある
以下的页面对我很有帮助。
コンソール画面でのコマンド操作 – matsukazの日記
help(), db.runCommands()の一覧
mongoインタラクティブシェルの使い方メモ – ペイパー・プログラマーズ・ダイアリー
ファイルに保存したjsスクリプトを、コマンドラインから実行させたりmongodbのシェル内で呼び出す方法
MongoDBのshellを使い倒す – nifty engineer blog
より発展的・実践的な使いかた、値のassert、組み込みオブジェクトの便利メソッド紹介など
基本操作方法
显示数据库
使用 dbName
显示集合
col = db[collectionName]
帮忙
db帮忙()
col帮忙()
以下是对保存了Twitter streaming API的JSON数据的集合进行操作的示例。
显示文件数量
db.collectionName.count()
db[collectionName].count()
- 英数字以外のコレクション名の場合db[collectionName]でアクセスする必要がある
排序, 限制
显示最新的10件
col.find({}).sort({$natural:-1}).limit(10)
只获取匹配到的文档的部分属性。
只显示屏幕名称和正文
col.find({}, {_id:false, "user.screen_name":true, text:true }).sort({$natural:-1}).limit(10)
- 入れ子になったプロパティの直接指定は””で囲う
对于找到的文档,执行并显示JavaScript函数。
只显示屏幕名称和正文。
col.find({}).sort({$natural:-1}).limit(10).forEach( function(a){print(a.user.screen_name, ":", a.text)} )
只显示没有特定属性的文档。
只显示普通推文,不包括转发。
col.find({retweeted_status:{ $exists: false }}).sort({$natural:-1}).limit(5).forEach( function(a){print(a.user.screen_name, ":", a.text )} )
只显示数组属性内容低于某个固定值的文档。
只显示没有转推,且带有不到两个标签的推文。
col.find( { retweeted_status:{$exists:false}, $where:"this.entities.hashtags.length < 2" }).sort({$natural:-1}).limit(20).forEach( function(a){ print(a.user.screen_name, ':' , a.text); } )
- findの$sizeで指定した個数と一致するものが得られるが範囲指定はできないので、$whereをつかう
使用mongo命令进行参数指定的操作方法。
在本地主机上连接到MongoDB数据库,数据库名称为”dbName”,并执行命令统计集合”collectionName”中的文档数量,命令为–eval ‘db[“collectionName”].count()’,运行时保持静默模式。
又或者
echo 'print(db["collectionName"].count());' > somescript.js
mongo --quiet localhost:27017/dbName somescript.js
可以像这样操作
将查询结果的JSON打印到标准输出并保存在文件中。
echo 'shellPrint(db["collectionName"].find().limit(10)));' > query.js
mongo --quiet localhost:27017/dbName query.js > result.json
- shellPrint()で標準出力にでてくる