f6982b1 | Aaron Heckmann | 18 March 2013, 17:15:39 UTC | release 3.6.0 | 18 March 2013, 17:15:39 UTC |
b1940da | Aaron Heckmann | 18 March 2013, 17:06:38 UTC | website; update FAQ | 18 March 2013, 17:06:38 UTC |
98c281e | Aaron Heckmann | 18 March 2013, 17:06:27 UTC | fix history | 18 March 2013, 17:06:27 UTC |
e8fc292 | Aaron Heckmann | 18 March 2013, 16:02:47 UTC | History | 18 March 2013, 16:02:47 UTC |
070e3bb | Aaron Heckmann | 18 March 2013, 16:00:02 UTC | website; add more api links | 18 March 2013, 16:00:02 UTC |
ffdd1ca | Aaron Heckmann | 18 March 2013, 15:43:30 UTC | website; add 3.5.x docs to prior releases | 18 March 2013, 15:43:30 UTC |
12e2f55 | Jacques-Olivier D. Bernier | 17 March 2013, 01:05:58 UTC | Change mongoose-types to an active repo | 18 March 2013, 15:08:49 UTC |
e979590 | Aaron Heckmann | 16 March 2013, 22:00:36 UTC | docs; indexes | 16 March 2013, 22:00:36 UTC |
0f7e8f1 | Aaron Heckmann | 16 March 2013, 21:50:17 UTC | docs; validation | 16 March 2013, 21:50:17 UTC |
1f2f706 | Aaron Heckmann | 16 March 2013, 21:47:20 UTC | docs; populate | 16 March 2013, 21:47:20 UTC |
97e2207 | Aaron Heckmann | 16 March 2013, 21:38:22 UTC | website; compat with node 0.10 | 16 March 2013, 21:38:22 UTC |
d9f0c66 | Aaron Heckmann | 16 March 2013, 15:37:39 UTC | docs; populate | 16 March 2013, 21:37:30 UTC |
7a1231d | Aaron Heckmann | 15 March 2013, 00:32:36 UTC | remove deprecation for db#setProfiling | 15 March 2013, 00:32:36 UTC |
56ef292 | Aaron Heckmann | 14 March 2013, 22:22:10 UTC | tests; add authSource test | 14 March 2013, 22:22:10 UTC |
65d1960 | Aaron Heckmann | 14 March 2013, 21:47:26 UTC | added; QueryStream transform option closes #1346 | 14 March 2013, 21:47:37 UTC |
db3d818 | Aaron Heckmann | 14 March 2013, 17:43:34 UTC | added; support for authSource driver option MongoDB 2.4 | 14 March 2013, 17:43:44 UTC |
d82a692 | Aaron Heckmann | 14 March 2013, 17:02:02 UTC | updated; driver to 1.2.14 | 14 March 2013, 17:25:06 UTC |
32c0ce9 | Aaron Heckmann | 14 March 2013, 03:39:30 UTC | update History | 14 March 2013, 03:39:30 UTC |
6f4e808 | Aaron Heckmann | 12 March 2013, 22:57:59 UTC | docs; add note about stream compatibility with node 0.8 | 14 March 2013, 03:37:12 UTC |
c7b180a | Aaron Heckmann | 14 March 2013, 03:34:14 UTC | fixed; use of `model` as doc property closes #1383 | 14 March 2013, 03:34:14 UTC |
4413881 | Aaron Heckmann | 13 March 2013, 17:47:25 UTC | docs; fix for private names | 13 March 2013, 17:47:45 UTC |
432f844 | Aaron Heckmann | 13 March 2013, 15:48:58 UTC | website; use T for generic type | 13 March 2013, 15:48:58 UTC |
1d6bd54 | Aaron Heckmann | 13 March 2013, 15:29:07 UTC | refactor MongooseArray#remove Its just an alias of pull, always has been. | 13 March 2013, 15:48:13 UTC |
db17a78 | Aaron Heckmann | 12 March 2013, 21:12:00 UTC | release 3.6.0rc1 | 12 March 2013, 21:12:00 UTC |
beaf162 | Aaron Heckmann | 12 March 2013, 19:38:42 UTC | tests; excersize $setOnInsert casting | 12 March 2013, 19:38:42 UTC |
e7a04d9 | Aaron Heckmann | 12 March 2013, 19:34:53 UTC | fixed; $push $slice casting | 12 March 2013, 19:34:53 UTC |
c5527ba | Aaron Heckmann | 12 March 2013, 19:00:30 UTC | fixed; lean population should be lean() throughout all subdocs as well closes #1382 | 12 March 2013, 19:00:30 UTC |
129bc78 | Aaron Heckmann | 12 March 2013, 17:36:59 UTC | docs; various schema items | 12 March 2013, 18:56:45 UTC |
6f2c0b1 | Aaron Heckmann | 12 March 2013, 15:38:28 UTC | docs; document#populated() | 12 March 2013, 15:38:28 UTC |
0426504 | Aaron Heckmann | 12 March 2013, 15:34:45 UTC | docs; document#populate() | 12 March 2013, 15:34:45 UTC |
3c5f0b9 | Aaron Heckmann | 12 March 2013, 15:19:16 UTC | fixed; empty object mixed defaults Now interpreted as functions that return new empty objects. To restore old behavior (a shared object between all documents) set the "shared" option to true. new Schema({ data: { type: Mixed, default: {}, shared: true }}) fixes #1380 | 12 March 2013, 15:22:00 UTC |
74ee044 | Aaron Heckmann | 12 March 2013, 00:58:38 UTC | docs; shardKey | 12 March 2013, 00:58:38 UTC |
e2a4efe | Aaron Heckmann | 11 March 2013, 23:16:28 UTC | docs; added examples of overriding `strict` in doc.set and Model.update | 11 March 2013, 23:16:28 UTC |
a90162c | Aaron Heckmann | 11 March 2013, 21:43:29 UTC | benchmarks | 11 March 2013, 21:43:29 UTC |
b6995e4 | Aaron Heckmann | 11 March 2013, 20:40:05 UTC | docs; add toObject to reserved list | 11 March 2013, 20:40:05 UTC |
f2da042 | Aaron Heckmann | 11 March 2013, 20:27:13 UTC | remove old TODO | 11 March 2013, 20:31:59 UTC |
da655e3 | Aaron Heckmann | 11 March 2013, 18:22:44 UTC | fixed; populate w/ deselected _id using string syntax | 11 March 2013, 18:22:46 UTC |
eaa9fdd | Aaron Heckmann | 11 March 2013, 15:34:58 UTC | fixed; saving divergent populated arrays When a $set of an entire array or a $pop operation of that array is produced through document.save() and the array was populated using limit, skip, query condition, or deselection of the _id field, we now return an error. The view mongoose has of the array has diverged from the array in the database and these operations would have unknown consequences on that data. $pop: // database { _id: 1, array: [3,5,7,9] } // mongoose var query = Doc.findOne(); query.populate({ path: 'array', match: { name: 'three' }}) query.exec(function (err, doc) { console.log(doc.array) // [{ _id: 3, name: 'three' }] doc.$pop(); console.log(doc.array) // [] doc.save() // <== Error }) This $pop removed the document with the _id of 3 from the array locally but when sent to the database would have removed the number 9 (since $pop removes the last element of the array). Instead, one could use doc.array.pull({ _id: 3 }) or perform this update manually using doc.update(..); $set: // database { _id: 1, array: [9,3,7,5] } // mongoose var query = Doc.findOne(); query.populate({ path: 'array', match: { _id: { $gt: 7 }}}) query.exec(function (err, doc) { console.log(doc.array) // [{ _id: 9 }] doc.array.unshift({ _id: 2 }) console.log(doc.array) // [{ _id: 2 }, { _id: 9 }] doc.save() // <== Error }) The would result in a $set of the entire array (there is no equivalent atomic operator for `unshift`) which would overwrite the other un-matched elements in the array in the database. Use doc.update() instead. | 11 March 2013, 18:16:53 UTC |
5baac8c | Aaron Heckmann | 11 March 2013, 15:19:20 UTC | store all query options will use for divergent array checks | 11 March 2013, 15:19:20 UTC |
20054dd | Aaron Heckmann | 08 March 2013, 17:46:54 UTC | toObject now a reserved property name | 08 March 2013, 17:46:56 UTC |
2e1956e | Aaron Heckmann | 08 March 2013, 17:46:39 UTC | remove dead code | 08 March 2013, 17:46:39 UTC |
74d819f | Aaron Heckmann | 08 March 2013, 17:10:03 UTC | name private methods to something unusable any path starting with $ cannot be used in a schema | 08 March 2013, 17:10:03 UTC |
e5aa6b4 | Aaron Heckmann | 06 March 2013, 22:53:52 UTC | use TypeError | 07 March 2013, 23:47:08 UTC |
f8c507a | Aaron Heckmann | 07 March 2013, 23:23:34 UTC | benchmark; make adjustable | 07 March 2013, 23:47:08 UTC |
6e06767 | Aaron Heckmann | 06 March 2013, 23:40:07 UTC | test; added for saveable required populated buffers | 07 March 2013, 23:47:08 UTC |
2966053 | Aaron Heckmann | 07 March 2013, 19:53:56 UTC | fixed; non population buffer casting from doc | 07 March 2013, 23:47:08 UTC |
87b2a33 | Aaron Heckmann | 05 March 2013, 22:54:19 UTC | fixed; setting populated paths Setting a populated path (or manipulate a populated array) with works when the schema path does not have a `ref` declared and an adhoc model was used for population. relates to #570 | 07 March 2013, 23:45:49 UTC |
18dbe62 | Aaron Heckmann | 05 March 2013, 00:36:45 UTC | fixed; casting when added docs to populated arrays closed #1348 | 05 March 2013, 05:17:25 UTC |
8b847c0 | Aaron Heckmann | 04 March 2013, 20:33:01 UTC | fixed; prohibit updating arrays selected with $elemMatch An $elemMatch projection only returns the elements of the array in the database that match the argument. While helpful when working with large arrays, it means we can no longer depend on any array elements position being accurate - manipulating these arrays with the mongoose helper methods would potentially result in incorrect array elements getting updated or even loss of array elements in the database. Attempting to update an array selected with an $elemMatch projection now returns an error that includes the array paths in violation. To update arrays selected with $elemMatch, manually use Model.update, Model.findByIdAndUpdate, or another method outside of document.save(). closes #1334 | 04 March 2013, 20:40:03 UTC |
d4a38c6 | Aaron Heckmann | 04 March 2013, 19:01:22 UTC | test; more thorough test for #975 | 04 March 2013, 19:01:31 UTC |
6753ed1 | Aaron Heckmann | 04 March 2013, 17:40:48 UTC | fixed; pull / set subdoc combination closes #1303 | 04 March 2013, 17:40:48 UTC |
e85e4b7 | Aaron Heckmann | 02 March 2013, 20:54:57 UTC | test; cleanup | 02 March 2013, 20:54:57 UTC |
0f4cfd8 | Aaron Heckmann | 02 March 2013, 20:33:56 UTC | docs; populate example | 02 March 2013, 20:33:56 UTC |
b357689 | Aaron Heckmann | 02 March 2013, 19:51:25 UTC | test; make test-{short,long} | 02 March 2013, 20:21:38 UTC |
12574d9 | Aaron Heckmann | 02 March 2013, 19:51:07 UTC | fixed; multiple bg index creation In MongoDB < 2.4, multiple background indexes creation is not well supported. We now create indexes one-by-one. closes #1365 | 02 March 2013, 20:21:31 UTC |
ffb1d2e | Aaron Heckmann | 02 March 2013, 19:48:45 UTC | test; added for #1365 #1365 | 02 March 2013, 19:48:45 UTC |
6e0b01f | Aaron Heckmann | 01 March 2013, 22:24:34 UTC | added; bufferCommands option when running with the drivers autoReconnect option disabled, mongoose buffers commands when the connection goes down, until you manually reconnect. to disable mongoose buffering commands while waiting for the connection to open or when the connection is down, set the bufferCommands schema option to false. | 01 March 2013, 22:24:34 UTC |
424bdc3 | Aaron Heckmann | 28 February 2013, 17:29:39 UTC | fixed; manual reconnection to single mongod | 28 February 2013, 18:55:24 UTC |
cd52939 | Aaron Heckmann | 28 February 2013, 07:41:34 UTC | wire up db listeners before calling user code | 28 February 2013, 07:41:34 UTC |
6b429a5 | Aaron Heckmann | 27 February 2013, 16:36:27 UTC | fix rebase regression | 27 February 2013, 17:09:33 UTC |
7bd12b2 | Aaron Heckmann | 27 February 2013, 06:32:43 UTC | fixed; Constructor / version exposure new require('mongoose').Mongoose now contains all constructors that require('mongoose') exposes. see https://github.com/donpark/mongeese relates to #1124 | 27 February 2013, 16:35:23 UTC |
32617bc | Aaron Heckmann | 26 February 2013, 23:34:17 UTC | remove unused argument | 27 February 2013, 16:35:23 UTC |
a785380 | Aaron Heckmann | 26 February 2013, 23:23:21 UTC | added; {mongoose,db}.modelNames() returns array of model names added. closes #1362 | 27 February 2013, 16:35:23 UTC |
60372ad | Aaron Heckmann | 26 February 2013, 21:29:30 UTC | added; $push w/ $slice,$sort support mongodb 2.4 https://jira.mongodb.org/browse/SERVER-991 #1286 | 27 February 2013, 16:35:23 UTC |
f11082f | Aaron Heckmann | 26 February 2013, 19:19:40 UTC | website; add news section | 27 February 2013, 16:35:23 UTC |
97122e3 | Aaron Heckmann | 26 February 2013, 18:35:24 UTC | docs; Buffer -> mongodb.Binary #1363 | 27 February 2013, 16:34:34 UTC |
0df6563 | Aaron Heckmann | 26 February 2013, 17:47:57 UTC | tests; example of $setOnInsert working #1286 | 27 February 2013, 16:34:34 UTC |
7754639 | Aaron Heckmann | 26 February 2013, 17:07:34 UTC | refactor; use Object.keys | 27 February 2013, 16:34:34 UTC |
55cf25b | Aaron Heckmann | 26 February 2013, 16:46:03 UTC | docs; indexing | 27 February 2013, 16:34:34 UTC |
f719406 | Aaron Heckmann | 26 February 2013, 16:45:39 UTC | fixed; hashed + sparse index creation | 27 February 2013, 16:34:34 UTC |
5a71daa | Aaron Heckmann | 26 February 2013, 06:01:48 UTC | style + cleanup | 27 February 2013, 16:34:34 UTC |
8c361e2 | Aaron Heckmann | 26 February 2013, 06:01:28 UTC | added; hashed index type mongodb 2.4 closes #1230 | 27 February 2013, 16:34:34 UTC |
c671672 | Aaron Heckmann | 26 February 2013, 04:58:44 UTC | partial revert of eca2607 Instead of erroring when the model for an adhoc path cannot be determined, use the current model. This opens the door to populating path combinations of two+ separate schemas which are now populated, e.g. populate('owner.avatar'), avatar being a property of an owner field that was also previously populated. relates to eca26073e3c6e1895ea96632669608b68d1f323c closes #1359 | 27 February 2013, 16:34:34 UTC |
d5d3438 | Aaron Heckmann | 26 February 2013, 00:09:10 UTC | docs; | 27 February 2013, 16:34:34 UTC |
3d990c2 | Aaron Heckmann | 26 February 2013, 00:08:59 UTC | added; support for mongodb 2.4 geojson http://docs.mongodb.org/manual/release-notes/2.4/#new-geospatial-indexes-with-geojson-and-improved-spherical-geometry closes #1229 | 27 February 2013, 16:34:34 UTC |
0e20b75 | Aaron Heckmann | 23 February 2013, 17:38:03 UTC | fixed; CastError race condition Allow documents that corrected their CastError to be saved again within the original save callback. | 27 February 2013, 16:34:34 UTC |
5ded132 | Aaron Heckmann | 20 February 2013, 22:19:23 UTC | fixed; not swallowing misuse of subdoc#invalidate() calling subdoc.invalidate() would silently fail if the doc had not yet been added to an array. this now throws an Error. | 27 February 2013, 16:34:34 UTC |
a6262a9 | Aaron Heckmann | 20 February 2013, 22:11:56 UTC | added; value at time of validation error Invalid values are now included in the error message as well as included in the ValidatorError constructor. | 27 February 2013, 16:34:33 UTC |
98d003f | Aaron Heckmann | 20 February 2013, 18:38:12 UTC | fixed; utils.clone retains RegExp opts closes #1355 | 27 February 2013, 16:34:33 UTC |
4a534b7 | Aaron Heckmann | 19 February 2013, 16:23:04 UTC | add driver spec stub #1352 | 27 February 2013, 16:34:33 UTC |
ea8e818 | Aaron Heckmann | 19 February 2013, 16:09:55 UTC | deprecate pluralization | 27 February 2013, 16:34:33 UTC |
027472b | Aaron Heckmann | 19 February 2013, 16:08:47 UTC | deprecate connection#setProfiling | 27 February 2013, 16:34:33 UTC |
0a9bc74 | Aaron Heckmann | 19 February 2013, 01:34:38 UTC | pluralization will die in 4.x | 27 February 2013, 16:34:33 UTC |
5387ad4 | Aaron Heckmann | 17 February 2013, 17:54:36 UTC | updated; muri to 0.3.1 fixes #1347 | 27 February 2013, 16:34:33 UTC |
fd8a00f | Aaron Heckmann | 15 February 2013, 23:24:14 UTC | fixed; population of non-schema property We only need the schema to deduce the model name. If a user passes the model name we allow it. If we cannot determine the model name we return an error. This is a change from < 3.6 where invalid path names were simply ignored. Pointing out the error to developers is more helpful behavior. MapReduce benefits: This means we can now also populate ad-hoc mapReduce results back to any model of our choice. | 27 February 2013, 16:34:33 UTC |
35e43f2 | Aaron Heckmann | 13 February 2013, 19:45:45 UTC | updated; driver to 1.2.12 | 27 February 2013, 16:34:33 UTC |
4d9dce8 | Aaron Heckmann | 12 February 2013, 23:57:41 UTC | added; support for object literal schemas mongoose.model('Person', { name: 'string' }) db.model('Person', { name: 'string' }) | 27 February 2013, 16:34:08 UTC |
c3d18b4 | Aaron Heckmann | 12 February 2013, 05:43:50 UTC | docs; change `auto` option of ObjectId to public should have been already. relates to #1285 | 27 February 2013, 16:34:08 UTC |
fd0c946 | Aaron Heckmann | 12 February 2013, 05:18:45 UTC | fixed; allow updating versionKey closes #1265 | 27 February 2013, 16:34:08 UTC |
564e0dc | Aaron Heckmann | 11 February 2013, 18:44:25 UTC | fixed; add EventEmitter props to reserved paths throw friendly errors when `emit` or `_events` are used in schema. closes #1338 | 27 February 2013, 16:34:08 UTC |
c51ac82 | Aaron Heckmann | 11 February 2013, 18:17:35 UTC | updated; mpromise to 0.2.1 | 27 February 2013, 16:34:08 UTC |
e1d5b56 | Aaron Heckmann | 07 February 2013, 18:17:58 UTC | fixed; can now deselect populated doc _ids closes #1331 | 27 February 2013, 16:34:08 UTC |
9339de3 | Aaron Heckmann | 03 February 2013, 23:15:44 UTC | release 3.6.0rc0 | 27 February 2013, 16:34:08 UTC |
19f653e | Aaron Heckmann | 03 February 2013, 23:15:19 UTC | docs; | 27 February 2013, 16:33:08 UTC |
0856b82 | Aaron Heckmann | 03 February 2013, 20:25:38 UTC | populate; depopulate populated single paths also fixes legacy issue where single populated path was markedModified causing populated document to overwrite _id. relates to #570 | 27 February 2013, 16:33:08 UTC |
3b48689 | Aaron Heckmann | 03 February 2013, 20:24:56 UTC | populate; allow setting single populated paths to docs relates to #570 | 27 February 2013, 16:33:08 UTC |
b0c646e | Aaron Heckmann | 03 February 2013, 19:04:22 UTC | tests; adding docs to populated arrays add tests for docs with String, Buffer, and Number _ids relates to #570 | 27 February 2013, 16:33:08 UTC |
05ca2f1 | Aaron Heckmann | 03 February 2013, 18:43:31 UTC | changed; Buffer arrays can now contain null to be consistent with strings, numbers, _ids, etc | 27 February 2013, 16:33:08 UTC |
44f194b | Aaron Heckmann | 03 February 2013, 18:43:03 UTC | fixed; casting docs with String,Number,Buffer _ids Schema({ fans: [String] }) new Doc({ fans: [{ _id: "miami" }, { _id: "trump" }] }) | 27 February 2013, 16:33:08 UTC |
b56c949 | Aaron Heckmann | 03 February 2013, 18:04:16 UTC | fixed; { path: [{type: "String" }] } | 27 February 2013, 16:33:08 UTC |