diff --git a/History.md b/History.md index b0da5a3de0..f49cb46b9c 100644 --- a/History.md +++ b/History.md @@ -1,6 +1,9 @@ ## vNEXT +* Calling `findOne()` on the server no longer loads the full query result + into memory. + * Fix Spark memory leak. #1157 * Upgraded dependencies: diff --git a/docs/client/api.html b/docs/client/api.html index 7fcdbde1fc..916da1f02b 100644 --- a/docs/client/api.html +++ b/docs/client/api.html @@ -655,7 +655,8 @@ disable this behavior, pass `{reactive: false}` as an option to {{> api_box findone}} -Equivalent to `find(selector, options).fetch()[0]`. +Equivalent to `find(selector, options).fetch()[0]` with +`options.limit = 1`. {{> api_box insert}} diff --git a/packages/mongo-livedata/mongo_driver.js b/packages/mongo-livedata/mongo_driver.js index 1922570c4e..50e8d6a9cd 100644 --- a/packages/mongo-livedata/mongo_driver.js +++ b/packages/mongo-livedata/mongo_driver.js @@ -288,7 +288,8 @@ _Mongo.prototype.findOne = function (collection_name, selector, options) { if (arguments.length === 1) selector = {}; - // XXX use limit=1 instead? + options = options || {}; + options.limit = 1; return self.find(collection_name, selector, options).fetch()[0]; };