1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| 'use strict';
|
| /*!
| * ignore
| */
|
| module.exports = function(schema) {
| // ensure the documents receive an id getter unless disabled
| const autoIdGetter = !schema.paths['id'] &&
| (!schema.options.noVirtualId && schema.options.id);
| if (!autoIdGetter) {
| return;
| }
|
| schema.virtual('id').get(idGetter);
| };
|
| /*!
| * Returns this documents _id cast to a string.
| */
|
| function idGetter() {
| if (this._id != null) {
| return String(this._id);
| }
|
| return null;
| }
|
|