1
db.collection('database_name')
  .find( { 'active':true, 'iOS':true} )
  .toArray (err, dbDocs) ->

返回我一个结果集。

然而,

deviceName = 'iOS'
db.collection('database_name')
  .find( { 'active':true, deviceName:true} )
  .toArray (err, dbDocs) ->

不工作。

deviceName是一个咖啡脚本字符串变量,初始化为 iOSdeviceName = 'iOS'

如何传递变量deviceName

4

1 回答 1

3

如果您的字段名称是动态的,则不能使用对象文字,您必须以编程方式构建查询对象:

query = { active: true };
query[deviceName] = true if something;

db.collection('database_name').find( query ).toArray (err, dbDocs) ->
于 2012-10-29T11:10:31.023 回答