MongoDB
 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.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Шифроване/дешифриране на свойството, докато пишете/четете в c# mongo db

  2. Mongo $near ще върне ли документи, за които всяка точка в MultiPoint е в обхвата?

  3. Актуализиране на вложени масиви в mongoDB чрез mongo shell

  4. Mongoose - findByIdAndUpdate - не работи с req.body

  5. Как да използвам $lookup като INNER JOIN в MongoDB Aggregation?