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

MongoDBドキュメントのフェッチが遅い(インデックス作成を使用)

    約35000のドキュメントをフェッチしているときに、同じ問題が発生しました。これを解決するために、集計関数(sakulstra:aggregate)を使用しました )そして私の場合、それはリクエストを信じられないほど後押ししました。結果の形式は明らかに同じではありませんが、必要なすべてのものを計算するために使用するのは簡単です。

    前(7000ms):

    const historicalAssetAttributes = HistoricalAssetAttributes.find({
            date:{'$gte':startDate,'$lte':endDate},
            assetId: {$in: assetIds}
        }, {
            fields:{
                "date":1,
                "assetId":1,
                "close":1
            }
        }).fetch();
    

    後(300ms):

    const historicalAssetAttributes = HistoricalAssetAttributes.aggregate([
            {
                '$match': {
                    date: {'$gte': startDate, '$lte': endDate},
                    assetId: {$in: assetIds}
                }
            }, {
                '$group':{
                    _id: {assetId: "$assetId"},
                    close: {
                        '$push': {
                            date: "$date",
                            value: "$close"
                        }
                    }
                }
            }
        ]);
    


    1. jestの実行中に複数のサーバーインスタンスが試行される

    2. MongoDBおよびJavaドライバー:クエリで大文字と小文字を区別しない

    3. nodejsでredisPUBLISH/ SUBSCRIBEを使用して、データ値が変更されたときにクライアントに通知するにはどうすればよいですか?

    4. BSON::ObjectIdとMongo::ObjectID