#node.js #mongodb #mongoose
#node.js #mongodb #мангуст
Вопрос:
У меня есть следующие документы на MongoDB:
{
"_id": {
"$oid": "5fddb4f404df1a32044f1f82"
},
"name": "1pc Chicken McDo with Spaghetti Meal",
"description": "1pc Chicken McDo with Spaghetti Meal",
" price ": 144,
"image": "1pc-chicken-mcdo-with-spaghetti-meal.png",
"locations": {
"$regex": "["Angeles, Pampanga", "Baguio City", "Cabanatuan, Nueva Ecija", "Mabalacat, Pampanga", "Makati", "Mandaluyong", Pasay", Pasig", San Fernando, Pampanga", San Jose, Nueva Ecija", San Juan", Taguig"]",
"$options": ""
}
}
Следуя этой структуре, я создал этот код схемы на NodeJS. Обратите внимание, что последнее поле location
, которое является, объявлено как массив типа плоской строки.
var productSchema = new Schema({
name: String,
description: String,
price: Decimal128,
image: String,
location: [{type: String}]
});
Моя проблема в том, что все остальное работает, когда я пытаюсь получить данные, используя find()
, за исключением этого location
поля. Вот пример того, что возвращает модель y:
[
{
"location": [
],
"_id": "5fddb4f404df1a32044f1f82",
"name": "1pc Chicken McDo with Spaghetti Meal",
"description": "1pc Chicken McDo with Spaghetti Meal",
" price ": 144,
"image": "1pc-chicken-mcdo-with-spaghetti-meal.png",
"locations": {
}
},
]
Как вы можете видеть, поле location остается пустым, несмотря на то, что все остальное возвращается нормально.
Может кто-нибудь помочь мне разобраться в этом?
Спасибо.
Ответ №1:
Оказалась проблема с экранированием кавычек и запятых при импорте из Excel в Compass. Желательно выполнить дополнительное ручное вмешательство в преобразованные данные перед выполнением фактического импорта. Если вы можете, используйте JSON вместо CSV, как я это делал:
{
"locations": [
"Angeles,Pampanga",
"Baguio City",
"Cabanatuan,Nueva Ecija",
"Mabalacat,Pampanga",
"Makati",
"Mandaluyong",
"Pasay",
"Pasig",
"San Fernando,Pampanga",
"San Jose,Nueva Ecija",
"San Juan",
"Taguig"
],
"_id": "5fde0dd704df1a32044f1fde",
"name": "1pc Chicken McDo with Spaghetti Meal",
"description": "1pc Chicken McDo with Spaghetti Meal",
"price": {
"$numberDecimal": "144"
},
"image": "1pc-chicken-mcdo-with-spaghetti-meal.png"
},