MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да конвертирам низ със знаци в int за цялата колекция?

Ако искате да конвертирате цялата колекция, можете да го направите с Aggregation pipeline.

Трябва да конвертирате валутата в низ, като използвате $substr и $toInt( или $toDouble , или $convert каквото отговаря на вашия случай) в $project сцена и $out като последния ви етап на агрегация. $out записва резултата от тръбопровода за агрегиране в даденото име на колекция.

Но бъдете внимателни, докато използвате $out . Според официалната документация на mongodb:

Опитайте това:

db.collection_name.aggregate([
    {
        $project: {
            category : "$category",
            category_name : "$category_name",
            lot_title : "$lot_title",
            seller_name : "$seller_name",
            seller_country : "$seller_country",
            bid_count : "$bid_count",
            winning_bid : { $toInt : {$substr : ["$winning_bid",2,-1]}},
            bid_amount : "$bid_amount",
            lot_image : "$lot_image"
        }
    },{
        $out : "collection_name"
    }
])

може да се наложи да използвате allowDiskUse : true като опция за конвейер за агрегиране, тъй като имате много документи и може да надхвърли лимита от 16MB mongodb.

Не забравяйте да замените collection_name с действително име на колекция и включете всички задължителни полета в $project етап, от който се нуждаете в колекцията. И моля, първо проверете отново стойността или с различна temporary_collection или просто като премахнете етапа $out и проверите резултата от aggregation тръбопровода

За подробна информация прочетете официалната документация на mongodb $out , $toInt , $toDouble , $convert, $substr и allowDiskUse .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $addToSet

  2. различни селекции в литий

  3. Как да накарам Spring-Data-MongoDB да валидира моите обекти?

  4. ClusterControl – всички акценти и подобрения на функциите от 2017 г

  5. Вложена заявка на Mongoose в модел по поле на неговия рефериран модел