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

Вземете броя на полетата във всеки документ чрез заявка с помощта на MongoDB java драйвер

Прочетох от вашия Java код

като

project only type[1..120] fields and number of such fields in the document

С това предположение можете да map-reduce както следва:

db.testcol.mapReduce(
function(){
    value = {count:0};
    for (i = 1; i <= 120; i++) {
        key = "type" + i
        if (this.hasOwnProperty(key)) {
            value[key] = this[key];
            value.count++
       }
    }
    if (value.count > 0) {
        emit(this._id, value);
    }
},
function(){
    //nothing to reduce
},
{
    out:{inline:true}
});

out:{inline:true} работи за малки набори от данни, когато резултатът се вписва в лимит от 16 Mb . За по-големи отговори трябва да output към колекция, която можете да правите заявки и да итерирате както обикновено.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. TypeError:Не може да се прочете свойство 'items' на null в monogdb с помощта на nodejs

  2. windows:rails:грешка при инсталиране на bson_ext

  3. mongodb Не може да се приложи модификатор $pull/$pullAll към не-масив, Как да премахнете елемент от масив

  4. Mutex с MongoDB

  5. Как да увелича стойност на число в Mongoose?