2016-11-10 16 views
0

此代碼爲我工作:

var currentUser = Meteor.userId() 
var json = {} 
json[currentUser] = {score: -1, created: new Date()} 
Words.update({_id: word._id}, { 
     $push: json 
    } 
) 

但我想提出新的數組項在零位。

如何修改此代碼以使用$ each和$ position?

+0

在其領域你是推JSON,因爲你沒有提到的字段名稱上面的查詢。 –

+0

字段名稱變成類似'KxXJYDLvCvjk9nLwo'的字樣。因爲currentUser就像'KxXJYDLvCvjk9nLwo'。 – webmagnets

回答

0

我不知道流星,但在普通的JavaScript中,您需要在$ push之後提及字段名稱,並且您將通過下面的查詢在第一個位置推送任何變量。

Words.update({_id: word._id}, { 
      $push: {field_name: { 
       $each: [ json ], 
       $position: 0 
      }} 
     } 
    ) 
+0

我無法讓「field_name」變量。 – webmagnets

+0

在mongodb的字段名稱中沒有動態變量,您需要使用靜態字段名稱 –

+0

但是使用我的原始代碼它確實會創建一個變量字段名稱。 – webmagnets

0

這工作:

var currentUser = Meteor.userId() 
    var json = {score: -1, created: new Date()} 
    Words.update({_id: word._id}, { 
      $push: { 
       [currentUser]: { 
        $each: [json], 
        $position: 0 
       } 
      } 
     } 
    ) 

特別感謝這樣的回答:https://stackoverflow.com/a/39375036/538034

相關問題