TypeError: Can not read property 'findOne' of undefined

0

I'm new to Javajscript, I'm using MeteorJs and I have this error:

  

TypeError: Can not read property 'findOne' of undefined

The error begins in this line

if(!Entradas.findOne()){

This is the script:

import { Meteor } from 'meteor/meteor';
import { Entradas } from '../lib/collections/entradas';
import { Comentarios } from '../lib/collections/comentarios';

entradas_array=[];

function random_string(len){
    var res="";
    var chars = "123456789abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
    for(var i=0;i<len;i++){

        res+= chars[Math.floor(Math.random()*chars.length)];

    }
    return res;

}
function lorem(){
    return "Curabitur molestie velit ut odio scelerisque, eget accumsan nisl scelerisque. "+
    "Donec lectus nulla, ultrices fermentum molestie at, rhoncus id sapien. Phasellus nisi justo, "+
    "volutpat ut tellus vitae, posuere tempus nibh. Duis egestas eu augue id posuere. Nunc facilisis "+
    " rhoncus convallis. Nam suscipit vehicula neque, id maximus nisl elementum ac. Aliquam et dapibus lectus."+
    " Aenean consequat ligula mi, rhoncus congue eros convallis quis."+

     "Aenean malesuada placerat nisi quis fermentum. Aenean auctor sapien vitae magna finibus, "+
    "nec ultricies justo egestas. Orci varius natoque penatibus et magnis dis parturient montes, "+
    "nascetur ridiculus mus. Nullam posuere quam vitae neque accumsan placerat ut non justo. "+
    "Phasellus placerat sapien mattis, gravida erat ac, pretium eros. Nullam metus risus, pellentesque ut "+
    "luctus sit amet, vulputate et metus. Fusce elementum augue vitae ornare tempor. Phasellus in eros odio."+
    "Aenean lobortis facilisis leo nec malesuada. Phasellus vitae aliquam dui, sit amet tristique tortor. "+
     " Fusce egestas tincidunt erat, in luctus sapien consequat ac. Nam quam enim, dictum non ante a, placerat"+ 
     "pretium ex."+

     "Nunc placerat semper convallis. Mauris et est enim. Donec bibendum porttitor mattis. Nulla auctor "+
    "mi erat, at pulvinar metus fermentum egestas. Sed sit amet pellentesque ex. Proin semper turpis ut "+
    "tellus pellentesque, et dictum lectus bibendum. Morbi fermentum felis dolor, egestas efficitur ligula "+
    "pretium in. Pellentesque rhoncus nisl quis nisl consectetur lacinia. Integer convallis sapien sem, ut "+
    "scelerisque risus laoreet non. Morbi a nunc lobortis, egestas lorem aliquet, pretium ligula. Suspendisse"+
    " ultrices, sapien in dictum tincidunt, urna mi lacinia justo, a luctus velit ligula a odio. "+
     "Etiam varius efficitur mi. Pellentesque porta et felis sed rutrum. Pellentesque ac lorem id mi commodo"+ 
     "condimentum sit amet id nibh."+

     "Quisque orci nulla, maximus sed felis vel, ullamcorper fermentum nisi. Praesent a purus vel massa c"+
    "ommodo dictum. Suspendisse potenti. Vivamus egestas viverra mauris nec tristique. Curabitur viverra"+
    " volutpat lorem auctor sodales. Praesent sagittis lectus ac feugiat interdum. Vestibulum et blandit "+
     "sapien. Nunc gravida libero non massa consequat, ut congue turpis imperdiet. Sed porttitor odio ex,"+
     "in commodo risus tristique quis. Nulla ultricies mauris quis dolor gravida, at varius nisl scelerisque."+ 
      "  Quisque auctor tellus nec sapien semper convallis. Vestibulum ante ipsum primis in faucibus orci luctus"+
      " et ultrices posuere cubilia Curae; Etiam efficitur massa in eros sodales molestie. "+
       "   Donec et ullamcorper nisi."+

    "Pellentesque commodo eget neque quis ornare. In nunc est, accumsan quis facilisis ut, fermentum vel ex. "+
    "Pellentesque faucibus velit eget urna facilisis congue. In hac habitasse platea dictumst. Mauris mollis "+
    "felis nec mauris sagittis facilisis. Mauris tincidunt tempor eros, ut tincidunt nunc lobortis vitae. "+
    "Nulla lacinia diam tellus, eu suscipit ipsum aliquam at. Duis vel elementum felis, at malesuada lectus."+ 
    "Ut non faucibus ligula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum dolor arcu,"+
    "porttitor a maximus commodo, feugiat et risus. Proin lacinia ullamcorper velit at pharetra. "+
    " Nunc facilisis mi quis augue eleifend, vel consequat nisl tempor. Fusce vitae libero quis odio "+
    "bibendum elementum quis id metus. Pellentesque habitant morbi tristique senectus et netus et malesuada "+
   "fames ac turpis egestas. Cras posuere vitae massa ac finibus.";
}
function lorem_cometarios(){
    return "Curabitur faucibus volutpat odio eu mattis. Phasellus id nisi quis ante pretium dictum a eu nunc."+
    " Donec iaculis at augue ut sodales. Aenean sit amet eros at quam ullamcorper malesuada."+ 
    " Duis malesuada ultricies ullamcorper. Nam pulvinar gravida neque, id commodo urna accumsan sed."+
    " Praesent placerat vulputate est quis interdum. Suspendisse leo lacus, egestas vitae luctus in,"+ 
    " accumsan et dui. Suspendisse neque elit, vestibulum ac felis eu, bibendum condimentum ante."+ 
      " Sed fermentum odio ac purus faucibus, vel porttitor velit mollis.";
}

Meteor.startup(() => {

  if(!Meteor.users.findOne()){

        for(var i=1; i<101;i++){

            var options={};

            if(i==1){
                options = {
                    username: "user" + i,
                    email: "user"+i+"@test.com",
                    password: "123456",
                    profile:{
                        active: true,
                        roles: "admin"
                    }
                };
            }else{
                options = {
                    username: "user"+i,
                    email: "user"+i+"@test.com",
                    password: "123456",
                    profile:{
                        active: true,
                        roles: "user"
                    }
                };
            }

            var userId = Accounts.createUser(options);
            console.log("creado el usuario "+userId)
        }
    } 


//entradas

if(!Entradas.findOne()){

    for(var i=0;i<100;i++){

        var user_count=Meteor.users.find().count();
        var j=Math.floor (Math.random*user_count);
        var user_name = "user"+j;
        var selector = {username:user_name};
        var user = Meteor.users.findOne(selector);
        if(user){
            var entrada = {
                title:random_string(10),
                texto:lorem(),
                author_id:user._id,
                active:true,
                coments_num:0
            }
            Entradas.insert(entrada,function(err,result) {

                if(err){

                    throw new Meteor.Error(333,Entradas.simpleSchema().namedConext().invalidKeys());

                }else{

                    console.log("entrada"+i+" id"+ result);
                    entradas_array[i]=result;
                }

            });


        }

    }
    console.log(Entradas.simpleSchema().namedConext().invalidKeys());

}
if(!Comentarios.findOne()){

    for(var i=0;i<100;i++){
        var user_count=Meteor.users.find().count();
        var j=Math.floor (Math.random*user_count);
        var user_name = "user"+j;
        var selector = {username:user_name};
        var user = Meteor.users.findOne(selector);
        if(user){
            var rand_entrada = Math.floor(Math.random()*entradas_array.length);
            var comentario = {
                title:random_string(25),
                texto:lorem_cometarios(),
                author_id:user._id,
                entrada_id:entradas_array[rand_entrada]
            }
            Comentarios.insert(comentario,function(err,result) {

                if(err){

                    throw new Meteor.Error(333,Comentarios.simpleSchema().namedConext().invalidKeys());

                }else{

                    console.log("Comentario "+i+" id"+ result);

                }

            });


        }

    }
}




});
    
asked by Nahuel Jakobson 04.07.2018 в 01:29
source

0 answers