MongoDB 挿入ドキュメント
この章では、MongoDB コレクションにデータを挿入する方法を紹介します。
ドキュメントのデータ構造は基本的にJSONと同じです。
コレクションに保存されているすべてのデータは BSON 形式です。
BSON は、バイナリ JSON と呼ばれる、json に似たバイナリ ストレージ形式です。
ドキュメントの挿入
MongoDB は、insert() または save() メソッドを使用してドキュメントをコレクションに挿入します。 構文は次のとおりです:
db.COLLECTION_NAME.insert(document)
例
次のドキュメントは、MongoDB の php データベースの Col コレクションに保存できます。 :
>db.col.insert({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: 'php中文网', url: 'http://www.php.cn', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 })
上の例では、col は前の章ですでに作成したコレクションの名前です。コレクションがデータベースにない場合、MongoDB は自動的にコレクションを作成し、ドキュメントを挿入します。
挿入されたドキュメントを表示します:
> db.col.find() { "_id" : ObjectId("56064886ade2f21f36b03134"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "php中文网", "url" : "http://www.php.cn", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } >
以下に示すように、データを変数として定義することもできます:
> document=({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: 'php中文网', url: 'http://www.php.cn', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 });
実行後の結果は次のとおりです:
{ "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "php中文网", "url" : "http://www.php.cn", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
挿入操作を実行します:
> db.col.insert(document) WriteResult({ "nInserted" : 1 }) >
Insertドキュメント db.col.save(document) コマンドを使用することもできます。 _id フィールドが指定されていない場合、save() メソッドは insert() メソッドと似ています。 _id フィールドが指定されている場合、その _id のデータが更新されます。