<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://shiyoka.com/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://shiyoka.com/feed.php">
        <title>ClownWiki - mongodb</title>
        <description></description>
        <link>https://shiyoka.com/</link>
        <image rdf:resource="https://shiyoka.com/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-05-08T13:23:29+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://shiyoka.com/doku.php?id=mongodb:1st&amp;rev=1739713984&amp;do=diff"/>
                <rdf:li rdf:resource="https://shiyoka.com/doku.php?id=mongodb:admin_tool&amp;rev=1739713984&amp;do=diff"/>
                <rdf:li rdf:resource="https://shiyoka.com/doku.php?id=mongodb:aggregation&amp;rev=1739713984&amp;do=diff"/>
                <rdf:li rdf:resource="https://shiyoka.com/doku.php?id=mongodb:backup_sh&amp;rev=1739713984&amp;do=diff"/>
                <rdf:li rdf:resource="https://shiyoka.com/doku.php?id=mongodb:config_add&amp;rev=1739713984&amp;do=diff"/>
                <rdf:li rdf:resource="https://shiyoka.com/doku.php?id=mongodb:config_yaml&amp;rev=1739713984&amp;do=diff"/>
                <rdf:li rdf:resource="https://shiyoka.com/doku.php?id=mongodb:crash&amp;rev=1739713984&amp;do=diff"/>
                <rdf:li rdf:resource="https://shiyoka.com/doku.php?id=mongodb:dump_restore&amp;rev=1739713984&amp;do=diff"/>
                <rdf:li rdf:resource="https://shiyoka.com/doku.php?id=mongodb:install&amp;rev=1739713984&amp;do=diff"/>
                <rdf:li rdf:resource="https://shiyoka.com/doku.php?id=mongodb:install_old&amp;rev=1739713984&amp;do=diff"/>
                <rdf:li rdf:resource="https://shiyoka.com/doku.php?id=mongodb:memo&amp;rev=1739713984&amp;do=diff"/>
                <rdf:li rdf:resource="https://shiyoka.com/doku.php?id=mongodb:mongod_yaml&amp;rev=1739713984&amp;do=diff"/>
                <rdf:li rdf:resource="https://shiyoka.com/doku.php?id=mongodb:php_sample&amp;rev=1739713984&amp;do=diff"/>
                <rdf:li rdf:resource="https://shiyoka.com/doku.php?id=mongodb:query&amp;rev=1739713984&amp;do=diff"/>
                <rdf:li rdf:resource="https://shiyoka.com/doku.php?id=mongodb:replication&amp;rev=1739713984&amp;do=diff"/>
                <rdf:li rdf:resource="https://shiyoka.com/doku.php?id=mongodb:sharding&amp;rev=1739713984&amp;do=diff"/>
                <rdf:li rdf:resource="https://shiyoka.com/doku.php?id=mongodb:smallfiles&amp;rev=1739713984&amp;do=diff"/>
                <rdf:li rdf:resource="https://shiyoka.com/doku.php?id=mongodb:style_script&amp;rev=1739713984&amp;do=diff"/>
                <rdf:li rdf:resource="https://shiyoka.com/doku.php?id=mongodb:write_lock&amp;rev=1739713984&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://shiyoka.com/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>ClownWiki</title>
        <link>https://shiyoka.com/</link>
        <url>https://shiyoka.com/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="https://shiyoka.com/doku.php?id=mongodb:1st&amp;rev=1739713984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-16T13:53:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1st</title>
        <link>https://shiyoka.com/doku.php?id=mongodb:1st&amp;rev=1739713984&amp;do=diff</link>
        <description>1st

MongoDB のサーバ構築・運用に関連する技術

Replication

	*  Master / Slave

　　通常のRWはMasterで行われ、Slaveはホットスタンバイとなる。
　　Ver 1.6の頃までメジャーなReplicationで、RWをMasterのみで
　　行うので高い一貫性が実現される
　　</description>
    </item>
    <item rdf:about="https://shiyoka.com/doku.php?id=mongodb:admin_tool&amp;rev=1739713984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-16T13:53:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>admin_tool</title>
        <link>https://shiyoka.com/doku.php?id=mongodb:admin_tool&amp;rev=1739713984&amp;do=diff</link>
        <description>管理ツールもろもろ

	*  MongoDB公式 - UI紹介ページ 
&lt;http://docs.mongodb.org/ecosystem/tools/administration-interfaces/&gt;

	*  MonjaDB 
&lt;http://www.jumperz.net/index.php?i=2&amp;a=0&amp;b=9&gt;

	*  JMongoBrowser 
&lt;http://www.moongift.jp/2011/06/20110609-3/&gt;

	*  JMongo 
&lt;http://d.hatena.ne.jp/moremagic/20120625/1340606614&gt;

	*  phpMoAdmin 
&lt;http://www.phpmoadmin.com/&gt;

	*  RockMongo 
&lt;https://github.com/iwind/rockmongo&gt;

	*  MongoChef 
&lt;http://3t.io/mongochef/&gt;

Rock Mongo

phpMyAdminなどと同様、PHPで動作してブラウザベースでMongoDBを操作できる…</description>
    </item>
    <item rdf:about="https://shiyoka.com/doku.php?id=mongodb:aggregation&amp;rev=1739713984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-16T13:53:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>aggregation</title>
        <link>https://shiyoka.com/doku.php?id=mongodb:aggregation&amp;rev=1739713984&amp;do=diff</link>
        <description>Aggregation Framework

公式manual：&lt;http://docs.mongodb.org/manual/core/aggregation/&gt;

sample

sqldump テーブルには、SQL文（query）と実行時間（time_sum）が記録されている。
SQL文毎の実行時間の平均でソートして、平均時間の長いものから10件取得したい。</description>
    </item>
    <item rdf:about="https://shiyoka.com/doku.php?id=mongodb:backup_sh&amp;rev=1739713984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-16T13:53:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>backup_sh</title>
        <link>https://shiyoka.com/doku.php?id=mongodb:backup_sh&amp;rev=1739713984&amp;do=diff</link>
        <description>バックアップのシェルスクリプト

バックアップ、圧縮保存、30日経過後は削除


#!/bin/sh

DB_NAME=$1
if [ -z $DB_NAME ]; then
  echo &#039;require database name&#039;
  exit
fi

BACKUP_BASE_DIR=/backup/db
BACKUP_DIR=$BACKUP_BASE_DIR/$DB_NAME
DUMP_DIR=$BACKUP_DIR/dump
BACKUP_FILE=$BACKUP_DIR/${DB_NAME}_`date +&quot;%Y%m%d-%H%M%S&quot;`

# remove dump dir
rm -rf $DUMP_DIR

# dump db data
/usr/bin/mongodump -o $DUMP_DIR -d $DB_NAME

# remove old file
find $BACKUP_DIR -type f -mtime +30 | xargs rm -f

# compress
# tar vczPf $BACKUP_FILE.tar.gz $DUMP_DIR
ta…</description>
    </item>
    <item rdf:about="https://shiyoka.com/doku.php?id=mongodb:config_add&amp;rev=1739713984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-16T13:53:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>config_add</title>
        <link>https://shiyoka.com/doku.php?id=mongodb:config_add&amp;rev=1739713984&amp;do=diff</link>
        <description>configの追加

mongocを追加する際には、事前に、既存のmongocと同様の設定を仕込んでおく必要がある。
簡単な方法として、既存のmongocをダンプして新しいmongocにリストアする方法がある。</description>
    </item>
    <item rdf:about="https://shiyoka.com/doku.php?id=mongodb:config_yaml&amp;rev=1739713984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-16T13:53:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>config_yaml</title>
        <link>https://shiyoka.com/doku.php?id=mongodb:config_yaml&amp;rev=1739713984&amp;do=diff</link>
        <description>YAMLフォーマットの設定項目一覧

Configuration File Options
&lt;http://docs.mongodb.org/manual/reference/configuration-options/&gt;


#-- systemLog Options
systemLog:
   verbosity: &lt;int:0&gt;
   quiet: &lt;boolean&gt;
   traceAllException: &lt;boolean&gt;
   syslogFacility: &lt;string:user&gt;
   path: &lt;string&gt;
   logAppend: &lt;boolean:False&gt;
   logRotate: &lt;string:rename&gt;
   destination: &lt;string&gt;
   timeStampFormat: &lt;string:iso8601-local&gt;
   component:
      accessControl:
         verbosity: &lt;int:0&gt;
      command:
         verbosity: &lt;i…</description>
    </item>
    <item rdf:about="https://shiyoka.com/doku.php?id=mongodb:crash&amp;rev=1739713984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-16T13:53:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>crash</title>
        <link>https://shiyoka.com/doku.php?id=mongodb:crash&amp;rev=1739713984&amp;do=diff</link>
        <description>クラッシュ対応

クラッシュ、kill後の対応

クラッシュ後の起動に失敗


# /etc/init.d/mongod start
Starting mongod: about to fork child process, waiting until server is ready for connections.
all output going to: /var/log/mongo/mongod.log
forked process: 1820
ERROR: child process failed, exited with error number 100
[FAILED]</description>
    </item>
    <item rdf:about="https://shiyoka.com/doku.php?id=mongodb:dump_restore&amp;rev=1739713984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-16T13:53:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dump_restore</title>
        <link>https://shiyoka.com/doku.php?id=mongodb:dump_restore&amp;rev=1739713984&amp;do=diff</link>
        <description>*  テスト環境にバックアップ元、バックアップ先の二つのサービスを起動する


# /usr/bin/mongod --journal --port 27017 --logappend --logpath /data/mongo1/logs/mongod.log --pidfilepath /data/mongo1/logs/mongod.pid --dbpath /data/mongo1/db --fork
# /usr/bin/mongod --journal --port 27018 --logappend --logpath /data/mongo2/logs/mongod.log --pidfilepath /data/mongo2/logs/mongod.pid --dbpath /data/mongo2/db --fork</description>
    </item>
    <item rdf:about="https://shiyoka.com/doku.php?id=mongodb:install&amp;rev=1739713984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-16T13:53:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>install</title>
        <link>https://shiyoka.com/doku.php?id=mongodb:install&amp;rev=1739713984&amp;do=diff</link>
        <description>Install


# vi /etc/yum.repos.d/mongodb.repo


the latest stable release


[mongodb-org-3.0]
name=MongoDB Repository
baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=1


2.6


[mongodb-org-2.6]
name=MongoDB 2.6 Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1</description>
    </item>
    <item rdf:about="https://shiyoka.com/doku.php?id=mongodb:install_old&amp;rev=1739713984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-16T13:53:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>install_old</title>
        <link>https://shiyoka.com/doku.php?id=mongodb:install_old&amp;rev=1739713984&amp;do=diff</link>
        <description>Install from 10gen.repo

※古い情報です。


# vi /etc/yum.repos.d/10gen.repo


64bit


[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
gpgcheck=0
enabled=1


32bit


[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686
gpgcheck=0
enabled=1</description>
    </item>
    <item rdf:about="https://shiyoka.com/doku.php?id=mongodb:memo&amp;rev=1739713984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-16T13:53:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>memo</title>
        <link>https://shiyoka.com/doku.php?id=mongodb:memo&amp;rev=1739713984&amp;do=diff</link>
        <description>【CyberAgent】技術情報 - MongoDBの運用について
&lt;http://www.cyberagent.co.jp/technology/ca_tech/report/8987184.html&gt;

MongoDBの薄い本(The Little MongoDB Book)
&lt;http://www.cuspy.org/diary/2012-04-17&gt;

ココロもつながるオンラインゲーム–アットゲームズ–のMongoDB導入事例
&lt;http://www.slideshare.net/n-sega/mongodb-8733880&gt;

MongoDBをext3で使ったら死んだ
&lt;http://dqn.sakusakutto.jp/2012/04/mongodb-ext3-File-Allocate.html&gt;</description>
    </item>
    <item rdf:about="https://shiyoka.com/doku.php?id=mongodb:mongod_yaml&amp;rev=1739713984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-16T13:53:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>mongod_yaml</title>
        <link>https://shiyoka.com/doku.php?id=mongodb:mongod_yaml&amp;rev=1739713984&amp;do=diff</link>
        <description>mongod.confのYAML版

mongodbの設定ファイル（mongod.conf）はYAMLになっているが、YUMでインストールした場合は従来どおりの設定ファイルが付属してくる。
標準設定をYAMLに置き換えると、以下になる。
※engineをwiredTigerに設定。</description>
    </item>
    <item rdf:about="https://shiyoka.com/doku.php?id=mongodb:php_sample&amp;rev=1739713984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-16T13:53:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>php_sample</title>
        <link>https://shiyoka.com/doku.php?id=mongodb:php_sample&amp;rev=1739713984&amp;do=diff</link>
        <description>php_sample

pecl::mongo

※事前にpearインストール


# pecl install mongo
# echo &quot;extension=mongo.so&quot; &gt; /etc/php.d/mongo.ini


PHP Sample

其の１


&lt;?php
ini_set( &#039;display_errors&#039;, 1 );

//$mongo = new Mongo(&quot;127.0.0.1:27019&quot;);
//$mongo = new Mongo(&quot;mongodb://127.0.0.1:27017,127.0.0.1:27018,127.0.0.1:27019&quot;, array(&quot;replicaSet&quot; =&gt; &quot;replset&quot;));
$mongo = new MongoClient(&quot;mongodb://127.0.0.1:27017,127.0.0.1:27018,127.0.0.1:27019&quot;, array(&quot;replicaSet&quot; =&gt; &quot;replset&quot;));

$db = $mongo-&gt;selectDB(&quot;testdb&quot;);
$col = $db-&gt;s…</description>
    </item>
    <item rdf:about="https://shiyoka.com/doku.php?id=mongodb:query&amp;rev=1739713984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-16T13:53:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>query</title>
        <link>https://shiyoka.com/doku.php?id=mongodb:query&amp;rev=1739713984&amp;do=diff</link>
        <description># query

## 操作系

### 終了
&gt; use admin
switched to db admin
&gt; db.shutdownServer()
### DB一覧取得
&gt; show dbs
local   (empty)
test002 0.203125GB
testdb  (empty)
### DB削除
&gt; show dbs
local   (empty)
test002 0.203125GB
testdb  (empty)
&gt; use test002
switched to db test002
&gt; db.dropDatabase()
{ &quot;dropped&quot; : &quot;test002&quot;, &quot;ok&quot; : 1 }
&gt; show dbs
local   (empty)
testdb  (empty)</description>
    </item>
    <item rdf:about="https://shiyoka.com/doku.php?id=mongodb:replication&amp;rev=1739713984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-16T13:53:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>replication</title>
        <link>https://shiyoka.com/doku.php?id=mongodb:replication&amp;rev=1739713984&amp;do=diff</link>
        <description>ReplicaSets


mkdir -p /data/mongo{1,2,3}/{db,logs}


直接


/usr/bin/mongod --replSet replset --journal --port 27017 --logappend --logpath /data/mongo1/logs/mongod.log --pidfilepath=/data/mongo1/logs/mongod.pid --dbpath=/data/mongo1/db --fork --rest
/usr/bin/mongod --replSet replset --journal --port 27018 --logappend --logpath /data/mongo2/logs/mongod.log --pidfilepath=/data/mongo2/logs/mongod.pid --dbpath=/data/mongo2/db --fork --rest
/usr/bin/mongod --replSet replset --journal --port 27019 --lo…</description>
    </item>
    <item rdf:about="https://shiyoka.com/doku.php?id=mongodb:sharding&amp;rev=1739713984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-16T13:53:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sharding</title>
        <link>https://shiyoka.com/doku.php?id=mongodb:sharding&amp;rev=1739713984&amp;do=diff</link>
        <description>sharding

サーバ起動

	*  分散サーバ

/usr/bin/mongod --shardsvr --port 27017 --logappend --logpath /data/mongo1/logs/mongod.log --pidfilepath=/data/mongo1/logs/mongod.pid --dbpath=/data/mongo1/db --fork
/usr/bin/mongod --shardsvr --port 27018 --logappend --logpath /data/mongo2/logs/mongod.log --pidfilepath=/data/mongo2/logs/mongod.pid --dbpath=/data/mongo2/db --fork</description>
    </item>
    <item rdf:about="https://shiyoka.com/doku.php?id=mongodb:smallfiles&amp;rev=1739713984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-16T13:53:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>smallfiles</title>
        <link>https://shiyoka.com/doku.php?id=mongodb:smallfiles&amp;rev=1739713984&amp;do=diff</link>
        <description>journalのファイルサイズを小さくする

mysqlのbinlogのようなもので、通常、1GB程度のファイルが2～3個作られる。
smallFilesオプションを有効にすることで、128MBに制限できる。

&lt;http://docs.mongodb.org/manual/reference/configuration-options/&gt;

	&quot; storage.mmapv1.smallFiles</description>
    </item>
    <item rdf:about="https://shiyoka.com/doku.php?id=mongodb:style_script&amp;rev=1739713984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-16T13:53:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>style_script</title>
        <link>https://shiyoka.com/doku.php?id=mongodb:style_script&amp;rev=1739713984&amp;do=diff</link>
        <description>整形スクリプト

dot.mongorc.js

標準関数printjson()をp()で実現


DBQuery.prototype.p = function() {
	var args = arguments
	this.forEach(function(e) {
		var result = {}
		if(args.length == 0) {
			result = e
		} else {
			for(var i = 0; i &lt; args.length; i++) {
				var target = e
				var keys = args[i].split(&#039;.&#039;)
				var flag = true
				keys.forEach(function(key) {
					if(key in target) {
						target = target[key]
					} else {
						flag = false
						return
					}
				})
				if(!flag) {
					target = &#039;(undef…</description>
    </item>
    <item rdf:about="https://shiyoka.com/doku.php?id=mongodb:write_lock&amp;rev=1739713984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-02-16T13:53:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>write_lock</title>
        <link>https://shiyoka.com/doku.php?id=mongodb:write_lock&amp;rev=1739713984&amp;do=diff</link>
        <description>write_lock

あるとき、rockmongoで以下のようなエラーが発生。


Execute failed:exception: Can&#039;t take a write lock while out of disk space
function (){ return db.getCollectionNames(); }


サーバにsshしてみると、レスポンスがやたら悪い。
topコマンド実行してみると、LAがやたら高い。</description>
    </item>
</rdf:RDF>
