mongodbの書き込み、削除、更新


1.mongodbデータベースとコレクションの作成
mongodbデータベースとコレクションの作成は暗黙的です.
create database文を単独で書く必要はありません.
useキーワードを直接使えばいいです.
bin/mongo shellで実行:
use test;
はtestデータベースを生成し、書き込みがなければ自動的に削除します.
コレクションも暗黙的で、特に指定する必要はなく、ドキュメントを直接insertし、コレクションを生成します.
2.文書の書き込み
挿入はinsertを使用します.
db.user.insert({"name" : "gang"});
userはコレクション名であり、データが書き込まれます.
3.ドキュメントの削除
ドキュメント削除removeキーワードを使用します.
db.user.remove();
userの下のすべてのデータを削除します.
特定の条件を削除するデータを指定する場合は、removeにパラメータを追加する必要があります.
db.user.remove({"name" : "gang"});
nameがgangのすべてのユーザーを削除します.
newsコレクションからm_を削除timeが指定した時間より小さいデータ:
db.news.remove({m_time : {$lt : 1408501530}});

//      
db.news.remove({m_time : {$gt : 1408501530}});  
4.文書修正更新
ドキュメント更新はupdateキーワードを使用し、
更新には原子性があり、2つの更新が同時にサーバに到達した場合、先に実行され、次に別の更新が実行されます.
updateには2つのパラメータがあります.
1つ目:更新するドキュメント、2つ目のモディファイヤmodifierをクエリーし、どのような変更を行いますか.
1.update更新
updateは、2番目のパラメータでドキュメント全体を直接更新できます.
db.user.update({"name" : "gang"}, {"new_name" : "gang"});
結果の表示
db.user.find();
{ "_id" : ObjectId("536f5ccd7a37c2e745770ed7"), "new_name" : "gang" }
2.$setと$unset
$setは新しい値を設定し、存在しない場合は作成します.
db.user.update({"name" : "gang"}, {"$set" : {"age" : 25}});
ageオプションが追加されました.findを使用して表示します.
db.user.find();
{ "_id" : ObjectId("536f5ccd7a37c2e745770ed7"), "age" : 25, "name" : "gang" }
$unsetはkeyを削除できます
db.user.update({"name" : "gang"}, {"$unset" : {"age" : 1}});
表示
db.user.find();
{ "_id" : ObjectId("536f5ccd7a37c2e745770ed7"), "name" : "gang" }
3. $inc
$incは、指定した値を増加または減少させるために使用され、存在しない場合に作成されます.
カウンタでよく使われます.
$incは整数または浮動小数点数に作用する必要があります.
db.user.update({"name" : "gang"}, {"$inc" : {"score" : 5}});
減らしたい場合は負数に設定します.
db.user.update({"name" : "gang"}, {"$inc" : {"score" : -5}});
4.配列操作
配列操作は$pushを使用して1本押し込み、$popは1本ポップアップします.
db.user.update({"name" : "gang"}, {"$push" : {"subjects" : {"chinese" : 10, "math" : 15}}});
$addToSet処理を使用すると、重複要求が処理され、存在しない場合にのみ書き込まれます.
$pop、配列から1つ削除します.
key:1配列の末尾から1つ削除します.
key:-1配列から1つ削除します.
 >db.user.find();
{ "_id" : ObjectId("536f5ccd7a37c2e745770ed7"), "name" : "gang", "age" : [ 1, 2, 3, 4 ] }

>db.user.update({"name" : "gang"}, {"$pop" : {"age" : 1}});

>db.user.find();
{ "_id" : ObjectId("536f5ccd7a37c2e745770ed7"), "age" : [ 1, 2, 3 ], "name" : "gang" }
> db.user.update({"name" : "gang"}, {"$pop" : {"age" : -1}});
> db.user.find();
{ "_id" : ObjectId("536f5ccd7a37c2e745770ed7"), "age" : [ 2, 3 ], "name" : "gang" }
$pullは、指定したデータを配列から削除します.
> db.user.update({"name" : "gang"}, {"$pull" : {"age" : 2}});
> db.user.find();
{ "_id" : ObjectId("536f5ccd7a37c2e745770ed7"), "age" : [ 3 ], "name" : "gang" }
5. upsert
upsertマッチング条件が見つかったら更新し、存在しない場合は新規作成します.
updateの3番目のパラメータをtrueに設定する必要があります.
6.複数のドキュメントの更新
updateのデフォルトはレコードの更新です.複数のドキュメントを更新する必要がある場合は、updateの4番目のパラメータをtrueに設定する必要があります.
アドレス:http://blog.csdn.net/yonggang7/article/details/25557563