В настоящее время у меня проблемы с созданием схемы для документа ниже. Ответ от сервера всегда возвращает значения поля "trk" как [Object]. Почему-то я понятия не имею, как это должно работать, поскольку я пробовал, по крайней мере, все подходы, которые имели для меня смысл ;-)
Если это поможет, моя версия Mongoose - 3.6.20 и MongoDB 2.4.7. И пока я не забыл, было бы неплохо также установить ее как Index (2d)
Исходные данные:
{
"_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
}]
}
}
Схема мангуста:
var TrackSchema = Schema({
_id: Schema.ObjectId,
gpx: {
metadata: {
desc: String,
country: String,
isActive: Boolean
},
trk: [{lat:Number, lng:Number}]
}
}, { collection: "tracks" });
Ответ от вкладки Network в Chrome всегда выглядит следующим образом (это неверная только часть trk):
{ trk:
[ [Object],
[Object],
[Object],
[Object],
[Object],
[Object],
Я уже пробовал разные определения схемы для "trk":
- trk: Schema.Types.Mixed
- trk: [Schema.Types.Mixed]
- trk: [{тип: [Число], индекс: "2d"}]
Надеюсь, ты сможешь мне помочь ;-)
trk.lat
иtrk.lng
в html не работают.trk : { type : Array , default : ['item1', 'item2'] }
У меня была аналогичная проблема с мангустом:
Фактически, я использовал «тип» в качестве имени свойства в моей схеме:
Чтобы избежать такого поведения, вы должны изменить параметр на:
источник
Спасибо за ответы.
Я попробовал первый подход, но ничего не изменилось. Затем я попытался записать результаты. Я просто переходил уровень за уровнем, пока, наконец, не добрался до места, где отображались данные.
Через некоторое время я обнаружил проблему: когда я отправлял ответ, я преобразовывал его в строку через
.toString()
.Я исправил это, и теперь он отлично работает. Извините за ложную тревогу.
источник
Проблема, которую мне нужно решить, - хранить контракты, содержащие несколько полей (адрес, книга, num_of_days, заемщик_аддр, blk_data), blk_data - это список транзакций (номер блока и адрес транзакции). Этот вопрос и ответ мне помог. Я хотел бы поделиться своим кодом, как показано ниже. Надеюсь это поможет.
источник