2016-06-12 47 views
1

我需要使一個JS變量等於一個MongoDB字段,並且到目前爲止我已經有了這個代碼,它正在工作,但並不像預期的那樣。它給了我一個完整的對象,但我只知道分配給該字段的字符串值。例如,你可能有一個文件,其中包含字段我應該如何讓一個JS變量等於一個MongoDB字段?

{name: "dylan"} 

以及我不希望所有的返回,我只是想字符串dylan。這是我嘗試過的代碼。

var game = SearchLobby.findOne(
    {profile: Meteor.userId()}, 
    {game: 1,_id: 0} 
); 
+0

如果沒有匹配,'findOne'可能會返回'undefined',所以您將需要一個條件。沒有必要混合使用白名單和黑名單字段,並且'_id'字段將始終返回。如果您想支持'undefined'的情況,您將需要一個條件表達式來獲取所需的字段值。 – MasterAM

回答

0

返回的值是一個對象,如果你在一個點號(。名稱)添加您希望字段的查詢結果,你會與存儲在字段中的字符串值結束。

var game = SearchLobby.findOne(
    {profile: Meteor.userId()}, 
    {game: 1, _id: 0} 
).game; 

遊戲應該返回裏面存儲的名字的字符串值。

+0

這個返回和錯誤對我來說,不知道爲什麼... – dmkanerer

+0

返回的錯誤是什麼? – irimawi

+0

模板助手中的異常:TypeError:無法讀取未定義的屬性'遊戲' – dmkanerer

0
const profile = Meteor.userId(); 
{name: SearchLobby.findOne({profile}, {game: 1,_id: 0}).game} 

這應該沒問題。我不認爲有任何其他方式如何從文檔中檢索遊戲名稱。

+0

我不太確定第二行代碼是如何使用的,我該如何使它與變量相等?並且名稱字段實際上並非僅用於該示例 – dmkanerer

相關問題