2013-01-18 62 views
1

我想記錄用戶事件到我的mongodb集合。是否可以設置一個簡單的查詢來僅存儲一個事件的最後記錄的時間標記,用於任意的,動態變化的事件集合(因此,當接收到新事件時,它將被插入)?Mongodb插入對象值

我知道下面是不行的,但我想給我在想什麼的想法:

uievents.update({_id:id},{ 
    $set: {userName:user, 
        ("events."+eventName): { 
       eventName: eventName, 
       serverTime: curTime, 
       browserTime: btime, 
       value: value 
      }},{$upsert:true}); 
+0

如果你拿出''事件周圍的括號。「+ eventName'它能工作嗎?我相信我使用這個查詢的會話,它的工作原理 – Sammaye

+0

給我一個構建錯誤(我從nodejs運行這個) – user1167650

+0

我已經添加,作爲問題的標記,因爲它是非常重要的要注意 – Sammaye

回答

0

做他最簡單的方法是非常簡單的:

query = {$set: {}} 
query["$set"]["event."+eventName] = { 
       eventName: eventName, 
       serverTime: curTime, 
       browserTime: btime, 
       value: value 
      } 

uievents.update({_id:id},query,{$upsert:true});