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

Mongodb-Map-Reduce-完全なデータは返されません

    MongoDBはreduce関数を何度も呼び出す可能性があるため、関数のべき等 。削減機能を少し変更すると、問題が解決します。

    db.system.js.save({
    
        _id: "reduce1",
    
        value: function (key, values) {
            var reducedValue = [];
            for (var i = 0; i < values.length; i++) {
                for(var j = 0; j < values[i].data.length; j++) {
                    reducedValue.push({
                        "_id": values[i].data[j]._id,
                        "creation_time": values[i].data[j].creation_time
                    });   
                }
    
            }
            return {
                data: reducedValue
            };
        }
    });
    

    ここで、values[i].dataに注意してください。 他のreduce1が返されるため、配列もトラバースされます。 の呼び出しは、values 配列




    1. 2つの異なるキーを使用したMongoDB集計結果

    2. pollingThrottleとpollingIntervalの使用方法は?

    3. MongoDB-構成で「org.springframework.data.mongodb.repository.query.MongoEntityInformation」タイプのBeanを定義することを検討してください

    4. Mongodbスキーマの定義