Hi

node-inspector died and not on the browser. If you run hard and routines as
planned, but I could not see the products object with failure.

Regars


2014-01-29 Anto <[email protected]>

> Yourselves know her some javascript parser? Because I'm debugger and
> breadpoints jump on the rest of GET but not in this and I think there's
> some bad code above or something. And I see it in 6k lines ...
>
> Thanks
>
> Regards
> Anto
>
>
> 2014-01-29 Angel Java Lopez <[email protected]>
>
> Can you show:
>>
>> - the retrieved document
>> - the jade ouput (relevant HTML from your browser source)
>>
>> Can you add something "definitive" to Jade, template, like p= new Date()
>> (I don't know if it is a valid Jade syntax). That is, a javascript
>> expression returning the current date/time, not in the model, but in the
>> view
>>
>> In this way, you will be more info about the result. It's not clear (in
>> my English understanding) if you have "cached" result (the same result that
>> one hour or one minute, or one second ago), or "mangled" (the result is not
>> what you expected but make senses, or the result is garbage, not expected,
>> non sense).
>>
>> Angel "Java" Lopez
>> @ajlopez
>>
>>
>>
>>
>>
>>
>>
>> On Wed, Jan 29, 2014 at 7:39 AM, Anto <[email protected]> wrote:
>>
>>> Hello
>>>
>>> It has failed again despite all this, the variables have the right data
>>> but once fault does not display properly. It's like jade take the cached
>>> data from another object ( -> products: mongoProducts). Thanks
>>>
>>> Regards
>>> Anto
>>>
>>>
>>> 2014/1/29 Anto <[email protected]>
>>>
>>>> Hello
>>>>
>>>> It is possible that even use var to define the variable, may exist a
>>>> bug and take it as a global and have several requests resulting into
>>>> failure?
>>>>
>>>> I've also changed this part of the code being as follows:
>>>>
>>>>
>>>> app.get('/brand/:identifier', function(req, res){
>>>>
>>>>     //var identifier = req.params.identifier.toLowerCase();
>>>>     var term = req.params.identifier.toLowerCase();
>>>>
>>>>     brands.find({ active: true, 'brandName' : { $regex : new
>>>> RegExp(term, "i")} }).populate({
>>>>
>>>>                             path: 'shop'
>>>>
>>>>                             ,select: 'name shop description'
>>>>
>>>>                         }).sort({dateAdded: 'desc'}).exec(function(err,
>>>> mongoProducts) {
>>>>         if(mongoProducts && mongoProducts.length) {
>>>>
>>>>             console.log('Data doc: ' + mongoProducts);
>>>>
>>>>             return res.render('brand_list', {
>>>>                                                 shop:
>>>> mongoProducts[0].shop.shop
>>>>                                                 ,name: mongoProducts[0].
>>>> shop.name
>>>>                                                 ,description:
>>>> mongoProducts[0].shop.description
>>>>                                                 ,products:
>>>> mongoProducts
>>>>                                                 ,pageTitle:
>>>> mongoProducts[0].shop.shop
>>>>                                                 ,pageUrl: '
>>>> http://backofficeserver.local/brand/' + term
>>>>                             });
>>>>
>>>>         } else {
>>>>
>>>>             return res.render('brand_list', {
>>>>                                                 shop:
>>>> mongoProducts[0].shop.shop
>>>>                                                 ,name: mongoProducts[0].
>>>> shop.name
>>>>                                                 ,description:
>>>> mongoProducts[0].shop.description
>>>>                                                 ,error: 'Not product´s
>>>> found'
>>>>                                                 ,pageTitle:
>>>> mongoProducts[0].shop.shop
>>>>                                 ,pageUrl: '
>>>> http://backofficeserver.local/brand/' + term
>>>>                                                  });
>>>>
>>>>         }
>>>>     });
>>>>
>>>> });
>>>>
>>>> - Jade (resumed)
>>>>
>>>> if error
>>>>    h4= error
>>>> else
>>>>   h4= 'List of products'
>>>>   if products
>>>>     each product in products
>>>>       li.product(id=product.identifier, name=product.identifier)
>>>>         a(href='/show/' + product.identifier, target='_blank')
>>>>
>>>> I'll see if it works and the result I will comment. Thanks
>>>>
>>>> Regards
>>>> Anto
>>>>
>>>>
>>>> 2014/1/29 Anto <[email protected]>
>>>>
>>>>> hello Ryan
>>>>>
>>>>> If I use var to declare variables, was in the transcript of this
>>>>> message I delete it by mistake, by eliminating several console.log for you
>>>>> they had the cleanest code. I´m sorry.
>>>>>
>>>>> Thanks !
>>>>>
>>>>> Regards
>>>>> Anto
>>>>>
>>>>>
>>>>> 2014/1/29 Ryan Schmidt <[email protected]>
>>>>>
>>>>>>
>>>>>> On Jan 28, 2014, at 19:39, Anto <[email protected]> wrote:
>>>>>>
>>>>>> > The code is as follows:
>>>>>> >
>>>>>> > - Nodejs + Expressjs
>>>>>> >
>>>>>> > app.get('/brand/:identifier', function(req, res){
>>>>>> >
>>>>>> >     identifier = req.params.identifier.toLowerCase();
>>>>>>
>>>>>> Because you have not used "var" to declare it, "identifier" is a
>>>>>> global variable. This is a problem. Check your other code for this 
>>>>>> problem
>>>>>> as well.
>>>>>>
>>>>>> >     brands.find({ active: true, 'brandName' : { $regex : new
>>>>>> RegExp(identifier, "i")} }).populate({
>>>>>> >
>>>>>>                                 path: 'shop'
>>>>>> >
>>>>>>                                 ,select: 'name shop description'
>>>>>> >
>>>>>>                             }).sort({dateAdded: 
>>>>>> 'desc'}).exec(function(err,
>>>>>> doc) {
>>>>>>
>>>>>> Here, you are firing off an asynchronous function (brands.find); when
>>>>>> it is done, the anonymous function (function(err, doc){...}) will be 
>>>>>> called
>>>>>> with the result.
>>>>>>
>>>>>> >         if(doc && doc.length) {
>>>>>> >
>>>>>> >             console.log('Data doc: ' + doc);
>>>>>> >
>>>>>> >             return res.render('brand_list', {
>>>>>> >                                                 shop:
>>>>>> doc[0].shop.shop
>>>>>> >                                                 ,name: doc[0].
>>>>>> shop.name
>>>>>> >                                                 ,description:
>>>>>> doc[0].shop.description
>>>>>> >                                                 ,products: doc
>>>>>> >                                                 ,pageTitle:
>>>>>> doc[0].shop.shop
>>>>>> >                                                 ,pageUrl: '
>>>>>> http://backofficeserver.local/brand/' + identifier
>>>>>> >                                                           });
>>>>>> >
>>>>>> >         } else {
>>>>>> >
>>>>>> >             return res.render('listado_shop', {
>>>>>> >                                                 shop:
>>>>>> doc[0].shop.shop
>>>>>> >                                                 ,name: doc[0].
>>>>>> shop.name
>>>>>> >                                                 ,description:
>>>>>> doc[0].shop.description
>>>>>> >                                                 ,error: 'Not
>>>>>> product´s found'
>>>>>> >                                                 ,pageTitle:
>>>>>> doc[0].shop.shop
>>>>>> >
>>>>>> ,pageUrl: 'http://backofficeserver.local/brand/' + identifier
>>>>>> >                                                 });
>>>>>> >
>>>>>> >         }
>>>>>>
>>>>>> Here you are rendering the jade template, using various values,
>>>>>> including that global variable "identifier". But between the time that 
>>>>>> this
>>>>>> request started, and the time that the database returned the result and 
>>>>>> the
>>>>>> template was rendered, another request may have started and overwritten 
>>>>>> the
>>>>>> "identifier" variable with a different value.
>>>>>>
>>>>>> Use "var" to declare your local variables so that they stay local and
>>>>>> don't pollute other requests.
>>>>>>
>>>>>>
>>>>>> --
>>>>>> --
>>>>>> Job Board: http://jobs.nodejs.org/
>>>>>> Posting guidelines:
>>>>>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "nodejs" group.
>>>>>> To post to this group, send email to [email protected]
>>>>>> To unsubscribe from this group, send email to
>>>>>> [email protected]
>>>>>> For more options, visit this group at
>>>>>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>>>>>
>>>>>> ---
>>>>>> You received this message because you are subscribed to a topic in
>>>>>> the Google Groups "nodejs" group.
>>>>>> To unsubscribe from this topic, visit
>>>>>> https://groups.google.com/d/topic/nodejs/2SxmvchhHaM/unsubscribe.
>>>>>> To unsubscribe from this group and all its topics, send an email to
>>>>>> [email protected].
>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>
>>>>>
>>>>>
>>>>
>>>  --
>>> --
>>> Job Board: http://jobs.nodejs.org/
>>> Posting guidelines:
>>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>>> You received this message because you are subscribed to the Google
>>> Groups "nodejs" group.
>>> To post to this group, send email to [email protected]
>>> To unsubscribe from this group, send email to
>>> [email protected]
>>> For more options, visit this group at
>>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>>
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "nodejs" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>>
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>  --
>> --
>> Job Board: http://jobs.nodejs.org/
>> Posting guidelines:
>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>> You received this message because you are subscribed to the Google
>> Groups "nodejs" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>
>> ---
>> You received this message because you are subscribed to a topic in the
>> Google Groups "nodejs" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/nodejs/2SxmvchhHaM/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to