Updating MongoDB

Updating MongoDB

本文关键字:MongoDB Updating      更新时间:2023-09-26

>有谁知道如何在MongoDB中更新。

我想更新总访问次数

// 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"

我正在尝试更新总访问量值,并尝试了类似

{$set : { pages[0].userDetails[currentPage].totalVisits : timesvisted}}

但是,我收到"语法错误:意外的令牌["消息

我遇到的问题之一是 [currentPage] 部分,因为当前页面可以更改,所以我无法对页面名称进行硬编码。

编辑 ****

我已经修改了这一行

lastVisitedSiteDate = {$set : { "pageName.totalVisits" : timesvist}};

这工作正常。但是,我需要页面名称不是硬编码的,它需要类似于当前页面,以便可以将不同的页面名称传递到其中,例如另一个页面名称。

Mongo find函数的第二个参数指定要拉回的字段。它需要是一个文档,如{},而不是一个数组。