Added projection in query API

This commit is contained in:
Zaid Abdulla committed 2013-03-22 13:06:27 +03:00
1 parent cc68d3b62e
commit c3eb8c157d
2 files changed
+17 -1

No files matched your search

+13 -1
View File
@@ -2,6 +2,7 @@ config = require './config'
util = require 'util'
http = require 'http'
url = require 'url'
common = require './common'
db = require './db'
mongodb = require 'mongodb'
querystring = require 'querystring'
@@ -292,7 +293,18 @@ else
else
q = {}
q = query.expand(q) if collectionName is 'devices'
cur = collection.find(q, {}, {batchSize : 50})
if urlParts.query.projection?
projection = {}
for p in urlParts.query.projection.split(',')
p = p.trim()
projection[p] = 1
if collectionName is 'devices'
for k,v of config.ALIASES
if k == p or common.startsWith(k, "#{p}.")
projection[a] = 1 for a in v
cur = collection.find(q, projection, {batchSize : 50})
cur.skip(parseInt(urlParts.query.skip)) if urlParts.query.skip?
cur.limit(parseInt(urlParts.query.limit)) if urlParts.query.limit?