Commit 33e2dead by Jose Carlos López

Fix criteria when only one value is passed

parent 6be39822
Showing with 6 additions and 1 deletions
...@@ -116,7 +116,7 @@ function comparisonToMongo(key, value) { ...@@ -116,7 +116,7 @@ function comparisonToMongo(key, value) {
array.push(typedValue(value)) array.push(typedValue(value))
}) })
value = { } value = { }
value[op] = array.length == 1 ? array[0] : array value[op] = array.length == 1 && op !== '$all' ? array[0] : array
} else { } else {
value = typedValue(parts[3]) value = typedValue(parts[3])
if (op == '>') value = {'$gt': value} if (op == '>') value = {'$gt': value}
......
...@@ -152,6 +152,11 @@ describe("query-to-mongo(query) =>", function () { ...@@ -152,6 +152,11 @@ describe("query-to-mongo(query) =>", function () {
assert.ok(results) assert.ok(results)
assert.deepEqual(results, {array: {$all: [50, 60]} }) assert.deepEqual(results, {array: {$all: [50, 60]} })
}) })
it("should create $all criteria with one value", function () {
var results = q2m("array:all=50")
assert.ok(results)
assert.deepEqual(results, {array: {$all: [50]} })
})
it("should create forced string criteria", function () { it("should create forced string criteria", function () {
var results = q2m("s='a,b'") var results = q2m("s='a,b'")
assert.ok(results) assert.ok(results)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment