![](/img/trans.png)
[英]Insert values with different types to MongoDB collection from Node.js
[英]Problems reading MongoDb collection with Node.js
我在用猫鼬和Node.js读取此集合时遇到问题:
我的收藏夹中有一个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.