2012-11-05 166 views
1

我试图动态地为中的MongoDB生成查询。创建它的功能是:在对象中动态设置密钥

app.set('searchTerm', function (field, str){ 
     var i, searchTerm, keywords; 
     keywords = str.split(' '); 
     searchTerm = {field : str , _keywords : keywords}; 
     return searchTerm; 
    }); 

我的问题是,构造的对象以字符串“场”作为重点,而不是传递的参数结束。我如何得到它来评估论证?

+0

哪里定义了“terms”? – elclanrs

+0

@nnnnnn是的,对不起,我发现了一个很接近的,但他们总是以至少部分键被声明为字符串开始。我不明白,它必须是一个两步骤的过程...... :) – user1775718

回答

2
app.set('searchTerm', function (field, str){ 
    var i, searchTerm, keywords; 
    keywords = str.split(' '); 
    searchTerm = {_keywords: keywords}; 
    searchTerm[field] = str; 
    console.dir(searchTerm); 
    return searchTerm; 
}); 
+0

你可以使用:'searchTerm = {_keywords:str.split('')};'使关键字变量冗余。 :-) – RobG