MongoDBで更新する方法を知っている人はいますか?
totalVisitsをtimesvistedで更新したい
// Test data
var currentUser = "John"
var currentPage = "pageName"
var timesvisited = 59
Page.find({"_id" : currentUser}, [], {},function(err, pages) {
pages = pages.map(function(ud) {
return { userDetails: ud};
});
//database structure example
{ "_id" : "John",
"pageName" : { "totalVisits" : 58,
"timeOnPage" : 2432,
"lastVisitDate" : "10/11/2011",
"clickNoOnPage" : "5"
},
"anotherPageName" : { "totalVisits" : 18,
"timeOnPage" : 5362,
"lastVisitDate" : "01/10/2011",
"clickNoOnPage" : "15"
totalVisits値を更新しようとしていますが、次のようなものを試しました
{$set : { pages[0].userDetails[currentPage].totalVisits : timesvisted}}
ただし、「SyntaxError:Unexpectedtoken[」メッセージが表示されます
私が抱えている問題の1つは、[currentPage]セクションにあります。これは、currentPageが変更される可能性があるため、でpageNameをハードコーディングできないためです。
編集*** _
この行を変更しました
lastVisitedSiteDate = {$set : { "pageName.totalVisits" : timesvist}};
これは正常に機能します。ただし、pageNameをハードコーディングしないようにする必要があります。これは、currentPageのようなものである必要があります。これにより、anotherPageNameなどのさまざまなページ名を渡すことができます。