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