MongoDB の基本的な戦闘: CRUD

1 依存性

バックグラウンド プロジェクトで使用されるデータベースは MongoDB です。
テストの共同デバッグ プロセス中に、テスト仲間から、
データの精度をテストする際のデータの確認方法と検証データの結果の計算方法について質問されました。私はよく知りませんでした
。当時の MongoDB のデータ操作。他の経験豊富な同僚に相談した後、
私は最も基本的な CRUD から始めて MongoDB を学び始めました。
必要としているより多くの開発者が日々の開発や知識の交換に簡単に対処できるように、次のように共有してください。

2 クラッド

ここに画像の説明を挿入

2.1 新しい

2.1.1 新しいデータベースを作成する

フォーマット:

use database-name;

新しいデータベースを作成する: チュートリアル

use tutorial;

データベースが存在しません: データベースを作成します
データベースが存在します: このデータベースに切り替えます

2.1.2 新規データの作成

フォーマット:

db.collection_name.insertOne({数据})
db.collection_name.insertMany([{数据-1},{数据-n}]);
  • 単一のデータ
    タイムスタンプを作成します: Doule timestamp = new Date().valueOf();
db.user.insertOne(
    {
        "age": 10,
        "createdTime": new Date().valueOf(),
        "money": 100,
        "sex": "male",
        "uid": "0x0001",
        "username": "xiaoyi"
    }
);
  • 複数のデータを作成する
db.user.insertMany(
    [
        {
            "age": 10,
            "createdTime": new Date().valueOf(),
            "money": Double(100),
            "sex": "male",
            "uid": "0x0007",
            "username": "xiaoqi"
        }, {
            "age": 10,
            "createdTime": new Date().valueOf(),
            "money": Double(100),
            "sex": "male",
            "uid": "0x0008",
            "username": "xiaoba"
        }]
);

2.2 クエリデータ

2.2.1 演算子

シリアルナンバー オペレーター 説明
1 それ <未満
2 GT > より大きい
3 LTE <= 以下
4 ジーテ >= 以上

フォーマット:

db.collection_name.find({条件});

2.2.2 すべてのデータをクエリする

db.user.find();

ここに画像の説明を挿入

2.2.3 指定した条件のデータを問い合わせる

db.user.find(
    {uid: '0x0002'})
db.user.find(
    {age: {$gt: 11}});

2.2.4 集計クエリ

db.user.aggregate([
    {
        $match: {age: {$gte: 11}}
    },
    {
        $group: {_id: "$sex", totalMoney: {$sum: "$money"}}
    }
    ]);

ここに画像の説明を挿入

2.3 データの更新

フォーマット:

db.collection_name.updateOne({搜索条件}, {更新数据操作});
db.collection_name.updateMany({搜索条件}, {更新数据操作});

2.3.1 単一のデータを更新する

db.user.updateOne({ _id: ObjectId("647c4ea010d72b63acb01301") }, {
    $set: {
        "age": 10,
        "createdTime": Long("1685868192340"),
        "money": Double(100),
        "sex": "male",
        "uid": "0x0001",
        "username": "xiaoyi"
    }
})

2.3.2 複数のデータを更新する

  • 年齢が 10 歳以上のユーザーの場合、金額は 10 に設定されます
db.user.updateMany({ age: {$gt: 10}}, {
    $set: {
        "money": Double("10"),
    }
});
  • ユーザーの年齢が10歳以上の場合、お金が10増加します
db.user.updateMany({ age: {$gt: 10}}, {
    $inc: {
        "money": Double("10"),
    }
});

2.4 削除

2.4.1 データベースの削除

フォーマット:

use database_name;
db.dropDatabase();

2.4.2 データの削除

フォーマット:

# 删除所有数据
db.collection_name.deleteMany({});
# 删除所有数据
db.collection_name.drop();
# 删除特定数据
db.collection_name.deleteOne({field_name:  value});
# 删除多条数据
db.collection_name.deleteMany({field_name: value});

2.4.1 単一データの削除

db.user.deleteOne({_id:ObjectId("647c4e5e10d72b63acb01300")});

2.4.2 複数のデータを削除する

db.user.deleteMany(
    {
        _id: {
            $in:
                [
                    ObjectId("647c685810d72b63acb01308"),
                    ObjectId("647c666410d72b63acb01307"),
                    ObjectId("647c685810d72b63acb01309")
                ]
        }
    }
);

おすすめ

転載: blog.csdn.net/Xin_101/article/details/131029851