mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
Allow undefined values in Collection.find options check.
At some point we might want to just make `Match.Optional` accept explicit undefined values in objects, but that will take a little more thought.
This commit is contained in:
@@ -210,11 +210,11 @@ _.extend(Meteor.Collection.prototype, {
|
||||
return { transform: self._transform };
|
||||
} else {
|
||||
check(args[1], Match.Optional(Match.ObjectIncluding({
|
||||
fields: Match.Optional(Object),
|
||||
sort: Match.Optional(Match.OneOf(Object, Array)),
|
||||
limit: Match.Optional(Number),
|
||||
skip: Match.Optional(Number)
|
||||
})));
|
||||
fields: Match.Optional(Match.OneOf(Object, undefined)),
|
||||
sort: Match.Optional(Match.OneOf(Object, Array, undefined)),
|
||||
limit: Match.Optional(Match.OneOf(Number, undefined)),
|
||||
skip: Match.Optional(Match.OneOf(Number, undefined))
|
||||
})));
|
||||
|
||||
return _.extend({
|
||||
transform: self._transform
|
||||
|
||||
@@ -2925,3 +2925,32 @@ Meteor.isServer && Tinytest.add("mongo-livedata - cursor dedup stop", function (
|
||||
// would print the error and no longer does.
|
||||
// See https://github.com/meteor/meteor/issues/2070
|
||||
});
|
||||
|
||||
testAsyncMulti("mongo-livedata - undefined find options", [
|
||||
function (test, expect) {
|
||||
var self = this;
|
||||
self.collName = Random.id();
|
||||
if (Meteor.isClient) {
|
||||
Meteor.call("createInsecureCollection", self.collName);
|
||||
Meteor.subscribe("c-" + self.collName, expect());
|
||||
}
|
||||
},
|
||||
function (test, expect) {
|
||||
var self = this;
|
||||
self.coll = new Meteor.Collection(self.collName);
|
||||
self.doc = { foo: 1, bar: 2, _id: "foobar" };
|
||||
self.coll.insert(self.doc, expect(function (err, id) {
|
||||
test.isFalse(err);
|
||||
}));
|
||||
},
|
||||
function (test, expect) {
|
||||
var self = this;
|
||||
var result = self.coll.findOne({ foo: 1 }, {
|
||||
fields: undefined,
|
||||
sort: undefined,
|
||||
limit: undefined,
|
||||
skip: undefined
|
||||
});
|
||||
test.equal(result, self.doc);
|
||||
}
|
||||
]);
|
||||
|
||||
Reference in New Issue
Block a user