【问题标题】:Updating MongoDB更新 MongoDB
【发布时间】:2012-04-21 22:37:19
【问题描述】:

有谁知道我如何在 MongoDB 中进行更新。

我想用 timesvisted 更新 totalVisits

// 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: Unexpected token [”消息

我遇到的一个问题是 [currentPage] 部分,因为 currentPage 可以更改,因此我无法硬编码 pageName。

编辑 ***

我已经修改了这一行

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

这很好用。但是,我需要不要对 pageName 进行硬编码,它需要类似于 currentPage 以便可以将不同的页面名称传递给它,例如另一个页面名称。

【问题讨论】:

标签: javascript mongodb


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-06-21
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 2016-05-08
    • 1970-01-01
    • 2018-11-08
    • 2011-05-25
    • 2021-11-20
    相关资源
    最近更新 更多