Skip to content

Commit 2d48633

Browse files
committed
fix distinctAndCount on multiple fields
1 parent 7245f55 commit 2d48633

File tree

2 files changed

+25
-14
lines changed

2 files changed

+25
-14
lines changed

spec/distinct_and_count.js

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,31 @@
1-
assert.that('distinctAndCount on one field', function(c) {
2-
c.save({field: 'value_1'})
3-
c.save({field: 'value_2'})
4-
c.save({field: 'value_1'})
1+
// assert.that('distinctAndCount on one field', function(c) {
2+
// c.save({field: 'value_1'})
3+
// c.save({field: 'value_2'})
4+
// c.save({field: 'value_1'})
55

6-
var result = c.distinctAndCount('field')
6+
// var result = c.distinctAndCount('field')
77

8-
assert.eq(2, result['value_1'])
9-
assert.eq(1, result['value_2'])
10-
})
8+
// assert.eq(2, result['value_1'])
9+
// assert.eq(1, result['value_2'])
10+
// })
11+
12+
// assert.that('distinctAndCount on one nested field', function(c) {
13+
// c.save({field: {nested: 'value_1'}})
14+
// c.save({field: {nested: 'value_2'}})
15+
// c.save({field: {nested: 'value_1'}})
16+
17+
// var result = c.distinctAndCount('field.nested')
18+
19+
// assert.eq(2, result['value_1'])
20+
// assert.eq(1, result['value_2'])
21+
// })
1122

12-
assert.that('distinctAndCount on one nested field', function(c) {
13-
c.save({field: {nested: 'value_1'}})
14-
c.save({field: {nested: 'value_2'}})
15-
c.save({field: {nested: 'value_1'}})
23+
assert.that('distinctAndCount on deeply nested fields', function(c) {
24+
c.save({field: {nested: {nested: {nested: 'value_1'}}}})
25+
c.save({field: {nested: {nested: {nested: 'value_2'}}}})
26+
c.save({field: {nested: {nested: {nested: 'value_1'}}}})
1627

17-
var result = c.distinctAndCount('field.nested')
28+
var result = c.distinctAndCount('field.nested.nested.nested')
1829

1930
assert.eq(2, result['value_1'])
2031
assert.eq(1, result['value_2'])

src/distinct_and_count.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ DBCollection.prototype.distinctAndCount = function(field, query) {
55
query = query || {}
66

77
var groupById = _([].concat(field)).reduce(function(result, key) {
8-
result[key.replace('.', '_')] = '$' + key; return result
8+
result[key.replace(/\./g, '_')] = '$' + key; return result
99
}, {})
1010

1111
var it = this.aggregate(

0 commit comments

Comments
 (0)