繁体   English   中英

使用Node.js阅读MongoDb集合时遇到问题

[英]Problems reading MongoDb collection with Node.js

我在用猫鼬和Node.js读取此集合时遇到问题:

我在mi Collection中有一个JSON

我的收藏夹中有一个JSON,我尝试使用以下代码阅读:

materias.find().exec(function(err1,materias){
        if(err1){console.log(err1); return next();}
        for(x=0;x<materias.length;x++){
            //console.log(materias[x].Nombre);
            //var arreglo=materias[x].Horario[0].Dia; // TRY ONE
            var arreglo=JSON.parse(materias[x].Horario[0]); // TRY TWO
            console.log(arreglo[0]);

        }
         //RESPONSE TRY ONE
         console.log(arreglo) UNDEFINED
         //RESPONSE TRY TWO
         undefined [ 
         //if I use JSON.stringify the response is {[object][object]...
enter code here

您不需要使用mongoose手动解析JSON

由于在循环内部定义了变量arreglo ,但尝试在循环外部进行访问,因此undefined 这应该工作:

materias.find().exec(function(err1,materias){
if(err1){console.log(err1); return next();}
for(x=0;x<materias.length;x++)  {        
    var arreglo = materias[x].Horario[0]; // TRY TWO
    console.log(arreglo);   
}

我想错误是:您有名为materias的数据库,并且对返回的集合使用相同的名称。 尝试将返回名称集合更改为其他名称。

materias.find()。exec(function(err1, change_name_here ){

//所需的代码
}

FINALYYYYYYYYYY我修复了它,更改了我的猫鼬模型,我这样做是:

var materias=new Schema({
    Nombre:{type:String, required:true},
    Docente:{type:String, required:true},
    Horario:{type:String, required:true}

});
module.exports = materias;

并为此更改:

Horario:[{Dia:String, Hora:String, Tiempo:String}]

阅读:

for(x=0;x<materias.length;x++){
                var arreglo=materias[x].Horario; // TRY TWO
                console.log(arreglo[0].Dia);

            }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM