sort query operator findbyid collection node.js mongodb mongoose mongoose-schema

node.js - operator - mongoose query



Mongoose select: falso no funciona en el objeto anidado ubicaciĆ³n (1)

Primero debe crear locationSchema y luego usar el tipo de esquema con select: false :

var locationSchema = new mongoose.Schema({ ''type'': { type: String, required: true, enum: [''Point'', ''LineString'', ''Polygon''], default: ''Point'' }, coordinates: [Number] } }); var userSchema = new mongoose.Schema({ location: { type: locationSchema, select: false } });

Quiero que el campo de location de mi esquema esté oculto de manera predeterminada. Le agregué select: false property, pero siempre se devuelve cuando selecciono documentos ...

var userSchema = new mongoose.Schema({ cellphone: { type: String, required: true, unique: true, }, location: { ''type'': { type: String, required: true, enum: [''Point'', ''LineString'', ''Polygon''], default: ''Point'' }, coordinates: [Number], select: false, <-- here }, }); userSchema.index({location: ''2dsphere''});

Al llamar:

User.find({ }, function(err, result){ console.log(result[0]); });

la salida es:

{ cellphone: ''+33656565656'', location: { type: ''Point'', coordinates: [Object] } <-- Shouldn''t }

EDITAR: Explicación (gracias a @alexmac)

La opción de selección SchemaType se debe aplicar a las opciones de campo, no a un tipo. En su ejemplo, ha definido un tipo complejo Ubicación y una opción de selección agregada a un tipo.