Re: performance issues filtering a query with a long

From: Rodrigo Jose Villalba Otto <rodris.jvo@xxxxxxxxx>
To: mongodb-user <mongodb-user@xxxxxxxxxxxxxxxx>
Date: Mon, 25 Apr 2016 06:40:33 -0700 (PDT)
Why ads?

Hi,

I'm facing a similar issue. Did you manage to solve the problem?


On Friday, May 1, 2015 at 2:05:11 AM UTC-4, henrique matias wrote:

One way i thought of, is to push the user id to a "viewed_by" property, so 
then instead of doing 2 queries one to find the viewed articles and another 
one to find unread articles, i'll just do 1 query looking forward articles 
where the "id" of the user isn't contained in the document's 'viewed_by' 
property.

The problem then is that this "viewed_by" property, will become bigger and 
bigger and it might become slow as well at some point ?

Is there such thing as storing the values in a "sorted" way, so then when 
using executing $ne it won't need to lookup all the values of the viewed_by 
array ( using binary search or some other fast way ) ?

any advice is highly appreciated,

thanks

peace

On 1 May 2015 at 04:06, henrique matias <hems....@xxxxxxxxx <javascript:>> 
wrote:

Hello Guys,

I'm currently having an issue with a system i'm designing, basically i 
need to filter my query with a $nin, but the $nin for each user grows 
everyday and it won't stop growing.

So basically sooner or later this queries will start to smell and leak..

Is there any "well known pattern" to filter out results from a query?

As an example: 500k users do some "advanced search" every day, but they 
can never see the same article. 

Articles are constantly being added and new users and constantly 
registering.

My current solution is to store the _ids in an Array owned by the user 
document, but with this design things gonna blow when users start to query 
with thousands os values on $nin..


Any ideas?

peace
-- 
*time isn't passing, it's you passing.*

❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ 
❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ 




-- 
*time isn't passing, it's you passing.*

❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ 
❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ ❂ ❁ 


-- 
You received this message because you are subscribed to the Google Groups "mongodb-user"
group.

For other MongoDB technical support options, see: https://docs.mongodb.org/manual/support/
--- 
You received this message because you are subscribed to the Google Groups "mongodb-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mongodb-user+unsubscribe@xxxxxxxxxxxxxxxx.
To post to this group, send email to mongodb-user@xxxxxxxxxxxxxxxx.
Visit this group at https://groups.google.com/group/mongodb-user.
To view this discussion on the web visit https://groups.google.com/d/msgid/mongodb-user/73a6ca60-28ad-4d32-aea7-b6d489e00de8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Why ads?