2013-07-05 47 views
0

当定义与猫鼬的查询,你可以使用:Mongoose query.select()运行不正常?

query.select({somefieldname: 0}) // selects everything but 'somefieldname' 
query.select({somefieldname: 1}) // selects only 'somefieldname' & '_id' 

然而,当我将它们合并:

query.select({somefieldname1: 0, somefieldname2: 1}) 

我收到一个错误。我对猫鼬相当陌生,所以也许我忽略了一些东西,有什么建议?谢谢。

+0

尝试发送响应也没有工作前的数据进行过滤。出于某种原因,“删除responseJSONObj [sensitiveKeyName]”根本就没有任何作用。 – Jon

+0

发现我的问题使用.lean我的查询过程中的解决方案()。然后,我能够在发送响应之前简单地从结果项目中删除密钥。不完全是我想要的,我仍然认为如果Mongoose支持MongoDB本地功能,那将会很好。 – Jon

回答

3

您不能在单个投影中结合包含和排除语义,但_id字段除外。

mongodb projection

+0

真的太糟糕了。这是MongoDB的本地功能。我想我应该rtfm。 – Jon