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) ->

動作しません。

deviceNameiOSに初期化されたcoffeescript文字列変数ですdeviceName = '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 に答える