所以最奇怪的事情正在发生。我有一个coffeescript
类,我用它来构建一个mongoose模式。
module.exports = class Profit
constructor: (Schema, mongoose) ->
@DailyProfitSchema = new Schema(
profit:
type: Number
default: 0
percent_profit:
type: Number
default: 0
day:
type: Number
default: 0
)
@Day = mongoose.model('Day', @DailyProfitSchema)
@local_day = null
这是我的更新功能
update: (funds) ->
if @local_day?.day is not date.getDate()
# new day
@local_day = new @Day()
@local_day.save(
(err, res) ->
console.log "saving local day"
if err?
console.log err
)
奇怪的是,当我更新时
Profit = require '../new_profit'
mongoose = require('mongoose')
mongoose.connect('mongodb://localhost/test')
Schema = mongoose.Schema
profit = new Profit(Schema, mongoose)
funds =
amount: 100
profit.update(funds)
没有输出任何内容,与调用saving local day
时应输出的预期@local_day.save()
相反。
好的,所以这很奇怪,但更奇怪的是当我将更新功能更改为此
时update: (funds) ->
if @local_day?.day is not date.getDate()
# new day
@local_day = new @Day()
console.log @local_day.save() # this is the line I added
@local_day.save(
(err, res) ->
console.log "saving local day"
if err?
console.log err
)
我得到了更意想不到的结果
undefined
saving local day
可能导致这种情况的原因是什么?
此外,我不确定它是否相关,但我正在运行mongod
作为后台流程,以使本地db
正常工作。
更新:无论如何,当我停止使用本地数据库时,问题就消失了mongodb://localhost/test