sql >> データベース >  >> NoSQL >> MongoDB

MongoDBでフィールド値で注文する方法

    $indexOfArray を使用できます

    コンソール

    db.collectionName.aggregate([{
        $match: {
            _id: {
                $in: [249, 244]
            }
        }
    }, {
        $addFields: {
            sort: {
                $indexOfArray: [
                    [249, 244], "$_id"
                ]
            }
        }
    },{
        $sort: {
            sort: 1
        }
    }])
    

    PHPコード

    $data = $this->mongo->{$collectionName}->aggregate(
        [
            [
                '$match' => ['_id' => ['$in' => $idList]]
            ],
            [
                '$addFields' => ['sort' => ['$indexOfArray' => [$idList, '$_id']]]
            ],
            [
                '$sort' => ['sort' => 1]
            ],
            [
                '$project' => [
                    'name' => 1
                ]
            ]
        ]
    );
    


    1. Redis-期限切れのインデックスは削除されません

    2. mongo-scala-driverを使用してScalaでMongodbからクエリ結果を印刷する

    3. WindowsServerにローカルに設定されたレプリケーションをバックアップするMongoDBスクリプト

    4. 配列サイズのフィールドをmongoに挿入します