我正在为自己和我的URL做一个侧面项目Shortener我的统计信息页面上出现错误(示例:http://xd6.co/u/ah/stats),这似乎只在链接创建一段时间后显示/累积点击次数,然后它会收到以下错误消息:
ReferenceError: startsWithDigit is not defined
at Object.eval [as toVersionString] (eval at makeFunction (/home/xd6/node_modules/mongolian/node_modules/buffalo/lib/bson.js:380:17))
at Object.eval [as toString] (eval at makeFunction (/home/xd6/node_modules/mongolian/node_modules/buffalo/lib/bson.js:380:17))
at String (unknown source)
at Writer._name (/home/xd6/node_modules/mustache/mustache.js:292:35)
at Writer._escaped (/home/xd6/node_modules/mustache/mustache.js:296:32)
at renderFunction (/home/xd6/node_modules/mustache/mustache.js:357:28)
at subRenders.(anonymous function) (/home/xd6/node_modules/mustache/mustache.js:328:18)
at Writer._section (/home/xd6/node_modules/mustache/mustache.js:240:21)
at renderFunction (/home/xd6/node_modules/mustache/mustache.js:345:28)
at Writer._compile.cache.(anonymous function) (/home/xd6/node_modules/mustache/mustache.js:224:16)
at Writer.render (/home/xd6/node_modules/mustache/mustache.js:204:34)
at Object.exports.render (/home/xd6/node_modules/mustache/mustache.js:596:20)
当我在控制台中运行mongo并执行db.urls.find()
时,我得到了回应:
{ "short" : "aa", "long" : "http://xd6.co/Projects/url-shortener", "created" : "2013-01-03 7:11 UTC", "clicks" : 0, "visitors" : [ ], "subscribers" : [ ], "_id" : ObjectId("50e52f2b000000d358000002") }
{ "short" : "ab", "long" : "http://google.com", "created" : "2013-01-06 1:17 UTC", "clicks" : 0, "visitors" : [ ], "subscribers" : [ ], "_id" : ObjectId("50e8d0c2000000d358000003") }
{ "short" : "ac", "long" : "http://xd6.co/u/", "created" : "2013-01-07 5:54 UTC", "clicks" : 0, "visitors" : [ ], "subscribers" : [ ], "_id" : ObjectId("50ea6332000000435b000002") }
ReferenceError: startsWithDigit is not defined
这表明它是一个mongo错误,而且我们的代码没有错。此外,控制台中的Mongo会发出与nodejs程序本身不同的结果。它甚至没有显示确实存在的所有现有文档,例如mongo控制台输出中的“ae”不存在,但nodejs显然在某处找到了数据(http://xd6.co/u/api/ae/stats)。
它似乎只是urls集合的问题,因为我们在数据库中的其他两个集合不会返回错误。
在有人评论可能使用错误的db / collection来解释nodejs在哪里找到其他数据之前(使用XD6 DB和urls集合):
> show dbs
XD6 0.0625GB
local (empty)
test (empty)
> use XD6
switched to db XD6
> show collections
pages
posts
system.indexes
urls
答案 0 :(得分:0)
你真的可以从干净的数据库开始并用一些代码重现吗?你有没有定义一些叫做startsWithDigit的javascript函数