google-code-export / morphia

Automatically exported from code.google.com/p/morphia
1 stars 0 forks source link

Morphia doesn't like semicolons in reduce clauses #432

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
    compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.18'
    compile group: 'org.mongodb', name: 'mongo-java-driver', version: '2.7.3'
    compile group: 'com.google.code.morphia', name: 'morphia', version: '0.99'

There is no stack trace. All that I get is that result was null.

This works in MongoDb console but not in Morphia:

db.MongoDbSong.group(
    {key: {artistName: 1, albumName: 1},
    initial: {totalPlays: 0},
    reduce: function(obj, prev) { for(var i=0; i < obj.statsList.length; i++) { if(obj.statsList[i].libraryUuid == 'bf25ff51-da26-4c76-82dc-ada0e4a68c18'){ prev.totalPlays += obj.statsList[i].playCount}}}
})

This works in Morphia:

db.MongoDbSong.group(" +
    {key: {artistName: 1, albumName: 1},
    initial: {totalPlays: 0},
    reduce: function(obj, prev) {for each (var item in obj.statsList) if(item.libraryUuid == 'bf25ff51-da26-4c76-82dc-ada0e4a68c18'){ prev.totalPlays += item.playCount}}" +
  "});

The first one should work in Morphia as well. Not sure why it doesn't. Maybe 
it's the semicolons?

Original issue reported on code.google.com by m.huniew...@gmail.com on 28 Sep 2012 at 3:23