当我使用此功能时,mongodb将使用'hour'和'minute'参数 字符串名称,不会使用它们的值... 你能帮助我吗 ? 感谢
shift+arrow
答案 0 :(得分:0)
使用 bracket notation 创建一个包含密钥的对象,如以下示例所示:
db.system.js.save(
{
"_id": "inc_visitors_statistics",
"value": function(siteId) {
var now = new Date(),
hour = now.getHours(),
minute = now.getMinutes(),
incObj = {};
incObj[hour.toString()] = 1;
incObj[minute.toString()] = 1;
db.visitors_daily_statistics.update(
{ "siteId": siteId },
{ "$inc": incObj },
{ "upsert": true }
);
}
})
在mongo shell中,您可以使用 db.loadServerScripts()
加载当前数据库的 system.js
集合中保存的所有脚本,直接在shell中调用上面的函数,如下例所示:
db.loadServerScripts();
inc_visitors_statistics("foo");