Finding changes in MongoDB database

Posted by Jonathan Knight on Stack Overflow See other posts from Stack Overflow or by Jonathan Knight
Published on 2010-06-07T00:08:36Z Indexed on 2010/06/07 0:12 UTC
Read the original article Hit count: 264

I'm designing a MongoDB database that works with a script that periodically polls a resource and gets back a response which is stored in the database. Right now my database has one collection with four fields , id, name, timestamp and data.

I need to be able to find out which names had changes in the data field between script runs, and which did not. In pseudocode,

if(data[name][timestamp]==data[name][timestamp+1]) //data has not changed
store data in collection 1
else //data has changed between script runs for this name
store data in collection 2

Is there a query that can do this without iterating and running javascript over each item in the collection? There are millions of documents, so this would be pretty slow.

Should I create a new collection named timestamp for every time the script runs? Would that make it faster/more organized? Is there a better schema that could be used?

The script runs once a day so I won't run into a namespace limitation any time soon.

© Stack Overflow or respective owner

Related posts about JavaScript

Related posts about database-design