Actualmente tengo problemas para crear un esquema para el siguiente documento. La respuesta del servidor siempre devuelve los valores del campo "trk" como [Objeto]. De alguna manera, no tengo idea de cómo debería funcionar esto, ya que probé al menos todos los enfoques que tenían sentido para mí ;-)
Si esto ayuda, mi versión de Mongoose es 3.6.20 y MongoDB 2.4.7 Y antes de que me olvide, sería bueno configurarlo también como Index (2d)
Datos originales:
{
"_id": ObjectId("51ec4ac3eb7f7c701b000000"),
"gpx": {
"metadata": {
"desc": "Nürburgring VLN-Variante",
"country": "de",
"isActive": true
},
"trk": [
{
"lat": 50.3299594,
"lng": 6.9393006
},
{
"lat": 50.3295046,
"lng": 6.9390688
},
{
"lat": 50.3293714,
"lng": 6.9389939
},
{
"lat": 50.3293284,
"lng": 6.9389634
}]
}
}
Esquema de la mangosta:
var TrackSchema = Schema({
_id: Schema.ObjectId,
gpx: {
metadata: {
desc: String,
country: String,
isActive: Boolean
},
trk: [{lat:Number, lng:Number}]
}
}, { collection: "tracks" });
La respuesta de la pestaña Red en Chrome siempre se ve así (esa es solo la parte trk que está mal):
{ trk:
[ [Object],
[Object],
[Object],
[Object],
[Object],
[Object],
Ya probé diferentes definiciones de esquema para "trk":
- trk: Schema.Types.Mixed
- trk: [Schema.Types.Mixed]
- trk: [{tipo: [Número], índice: "2d"}]
Espero que puedas ayudarme ;-)
trk.lat
ytrk.lng
en html no funcionará.trk : { type : Array , default : ['item1', 'item2'] }
Tuve un problema similar con la mangosta:
De hecho, estaba usando "tipo" como nombre de propiedad en mi esquema:
Para evitar ese comportamiento, debe cambiar el parámetro a:
fuente
Gracias por las respuestas.
Probé el primer enfoque, pero nada cambió. Luego, intenté registrar los resultados. Simplemente profundicé nivel por nivel, hasta que finalmente llegué al lugar donde se mostraban los datos.
Después de un tiempo encontré el problema: cuando estaba enviando la respuesta, la estaba convirtiendo en una cadena a través de
.toString()
.Lo arreglé y ahora funciona de manera brillante. Disculpa por la falsa alarma.
fuente
El problema que necesito resolver es almacenar contratos que contengan algunos campos (dirección, libro, num_of_days, prestatario_addr, blk_data), blk_data es una lista de transacciones (número de bloque y dirección de transacción). Esta pregunta y respuesta me ayudaron. Me gustaría compartir mi código de la siguiente manera. Espero que esto ayude.
fuente