Я видел несколько вопросов, связанных с этим. Но не могу найти ответ, который может мне помочь.агрегированная функция в mongoose node.js не возвращается запись
Вот мой код node.js на стороне сервера, используя mongoose. Этот код просто печатает «Успех в извлечении данных []» в консоли.
var kmphDBSchema = commonRouter.kmphDBSchema;
var locationSchema = new kmphDBSchema({result:{locations:{id:String,parent_id:String,countryCode:String,name:String}}});
var locationModel = commonRouter.kmphMongoClient.model('mgh_locations',locationSchema);
exports.getLocations = function(request, response) {
var locationName = '/.*' + request.params.locationName + '.*/';
console.log("locationName: " + locationName);
locationModel.aggregate(
[
{ $unwind:"$locations"}
,{ $project:{_id:0,locations:1} }
,{ $match:{"locations.name": locationName}}
]
, function (err, res) {
console.log('Error=' + err);
if (err){
console.log('Error in fetching locations' + err);
return (err);
}
console.log('Success in fetching data' + JSON.stringify(res));
response.send(JSON.stringify(res));
});
}
Вот данные, возвращаемые запросом в оболочке mongo. Эти данные НЕ возвращаются, когда данные извлекаются из node.js с использованием мангуста.
/* 0 */
{
"result" : [
{
"locations" : {
"id" : "1",
"parent_id" : "531",
"countryCode" : "IN",
"name" : "Noida"
}
},
{
"locations" : {
"id" : "407",
"parent_id" : "531",
"countryCode" : "IN",
"name" : "Greater Noida"
}
}
],
"ok" : 1
}.
А вот оригинальный документ JSON
/* 0 */
{
"_id" : ObjectId("548b15d700dcf350ea6a9e1e"),
"locations" : [
{
"id" : "1",
"parent_id" : "531",
"countryCode" : "IN",
"name" : "Noida"
},
{
"id" : "2",
"parent_id" : "531",
"countryCode" : "IN",
"name" : "New Delhi"
},
{
"id" : "3",
"parent_id" : "531",
"countryCode" : "IN",
"name" : "Gurgaon"
},
{
"id" : "11",
"parent_id" : "0",
"countryCode" : "IN",
"name" : "Agra"
},
{
"id" : "12",
"parent_id" : "0",
"countryCode" : "IN",
"name" : "Jaipur"
},
{
"id" : "13",
"parent_id" : "0",
"countryCode" : "IN",
"name" : "Hyderabad"
},
{
"id" : "14",
"parent_id" : "0",
"countryCode" : "IN",
"name" : "Lucknow"
},
{
"id" : "15",
"parent_id" : "0",
"countryCode" : "IN",
"name" : "Kanpur"
},
{
"id" : "16",
"parent_id" : "0",
"countryCode" : "IN",
"name" : "Lansdowne"
},
{
"id" : "18",
"parent_id" : "0",
"countryCode" : "IN",
"name" : "Bangalore"
},
{
"id" : "19",
"parent_id" : "0",
"countryCode" : "IN",
"name" : "Nainital"
},
{
"id" : "20",
"parent_id" : "0",
"countryCode" : "IN",
"name" : "Bhimtal"
},
{
"id" : "21",
"parent_id" : "0",
"countryCode" : "IN",
"name" : "Kolkata"
}
]
}
Необходимо уточнить свой вопрос. «Название» говорит «ничего не возвращено», но вы показываете результат. Понятия не имею, о чем вы говорите. –
Спасибо за быстрый ответ. Данные не печатаются. В консоли оператор журнала просто печатает «Успех в получении данных []». Точные данные не печатаются. Обновлен Вопрос для уточнения – VikramK
Новая учетная запись. Пожалуйста, отредактируйте свой вопрос с подробностями, а не попытайтесь добавить больше комментариев. Просто комментарии и теги, которые вы хотите предупредить о своих изменениях. Кажется, вы спрашиваете, что ваше агрегирование дает разные результаты в мангусте для оболочки. Я не чувствую, что вы действительно публикуете все соответствующие коды, поскольку то, что вы опубликовали, должно работать одинаково. –