Switch to side-by-side view

--- a/scripts/backup_project.py
+++ b/scripts/backup_project.py
@@ -64,14 +64,14 @@
         visited_collections[fqname] = cls
         if 'project_id' in m.property_index:
             # Dump the things directly related to the project
-            oq = cls.query.find(dict(project_id=project._id), validate=False)
+            oq = dict(project_id=project._id)
         elif 'app_config_id' in m.property_index:
             # ... and the things related to its apps
-            oq = cls.query.find(dict(app_config_id={'$in':app_config_ids}), validate=False)
+            oq = dict(app_config_id={'$in':app_config_ids})
         else:
             # Don't dump other things
             continue
-        num_objs = oq.count()
+        num_objs = cls.query.find(oq).count()
         if num_objs == 0: continue
         if not os.path.exists(os.path.join(dirname, dbname)):
             os.mkdir(os.path.join(dirname, dbname))
@@ -82,7 +82,7 @@
         log.info('%s: dumping %s objects to %s',
                  cname, num_objs, fname)
         with open(os.path.join(dirname, fname), 'w') as fp:
-            for obj in oq.ming_cursor: _write_bson(fp, obj)
+            for obj in cls.query.find(oq, validate=False).ming_cursor: _write_bson(fp, obj)
 
 if __name__ == '__main__':
     sys.exit(main())