0

Suppose I follow users 4, 7, 10, and 20. How can I query that in Mongo?

db.all_posts.find(users = 4, 7, 10, 20).sort( by date )

I don't know the right syntax. Is this scalable?

Community
  • 1
  • 1
TIMEX
  • 259,804
  • 351
  • 777
  • 1,080

1 Answers1

1

Use the $in operator to match against multiple values:

db.all_posts.find({user: {$in: [4, 7, 10, 20]}}).sort({date: 1})

As you can see, the find(), sort() and most other methods in MongoDB take in objects as parameters. These objects are called query expression objects.

The question Making a Twitter-like timeline with MongoDB should answers your question about scalability, as it discusses the same data model as yours.

Community
  • 1
  • 1
Niels van der Rest
  • 31,664
  • 16
  • 80
  • 86