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

コレクション全体のintに文字を含む文字列を変換するにはどうすればよいですか?

    コレクション全体を変換する場合は、集約パイプラインを使用して変換できます。

    $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. mongoexportを使用してソートされたデータをエクスポートする方法は?

    2. 埋め込まれたドキュメント/配列のフィールドの平均を計算します

    3. Node.js、WebSocket、Redisを使用してResqueの使用状況を視覚化する方法

    4. コレクション/オブジェクトで検索-SailsJSおよびWaterlineORM