2014-09-23 98 views
0

運行的MongoDB查詢我有這個文件中蒙戈如何與變量替換

{ 
    "_id" : "hxQee6xCQSD9C9Qok", 
    "bank_account" : { 
     "12345" : { 
      "account" : "12345", 
      "type" : "bank_account" 
     } 
    } 
} 

我想在其上運行的MongoDB的查詢時,我知道我能做到這一點

db.donate.find({'bank_account.12345.account': '12345'})

但我想要做的是使用一個變量來搜索帳戶號碼'12345' 所以我試過這個

var bankNumber = '12345'; 
var accountLookup = {bank_account[bankNumber]account: bankNumber}; 
var obj = db.donate.findOne(accountLookup); 

,我得到這個錯誤

Error: Line 2: Unexpected token [

如果我把這個包中的引號也不行。我怎樣才能通過對象'12345'或帳戶屬性'12345'來格式化查詢來查找?

+0

「BANK_ACCOUNT [bankNumber]帳戶」 是一個語法錯誤,你嘗試過BANK_ACCOUNT [bankNumber] .account? – 2014-09-23 16:56:46

回答

1

編程組裝您的查詢鍵:

var bankNumber = '12345'; 
var accountLookup = {}; 
accountLookup['bank_account.' + bankNumber + '.account'] = bankNumber; 
var obj = db.donate.findOne(accountLookup); 
+0

謝謝,那正是我所需要的。 – JoshJoe 2014-09-23 18:46:40