node.js - Mongoose. Use a constant in $or -
i'm building query , include access control:
var q = { $and: [ { $or: [ isadmin, // use have access resources? // pattern doesn't appear work { ispublic: true }, { createdby: userid } ] }, query ] }; resource.find(q).sort('-createdat').limit(10)...
isadmin
can true or false. if false, i'd other tests. query
rest of query.
it's not working in mongoose 4.0.4. suggestions?
ok, found 2 ways this. best way not include $or when isadmin. kind of obvious really.
function findnewestresources(query, callback) { if (!isadmin) { query = { $and: [ { $or: [ { ispublic: true }, { createdby: userid } ] }, query ] }; } resource.find(query).sort('-createdat').limit(10)
an alternate way use $where
, table-scan, that's no good. $where worked on 2.6.10, not on 2.6.9.
Comments
Post a Comment