我正在尝试创建一个Mongoose模式,该模式包含一个以以下格式自动递增的字段:number-year
。
因此,例如,如果我今年(2018年)创建了3个文档,则它们应该具有该字段,其值是:1-2018, 2-2018, 3-2018, ...
我正在使用函数estimatedDocumentCount
对集合中的文档数进行计数。这是我的代码的示例:
var db = mongoose.connection;
var FooSchema = new mongoose.Schema({
code: {
type: String,
index: true,
match: /\d{1,}-\d{4}/, // Code is in format nr-yyyy
default: function() {
return Foo.estimatedDocumentCount({})
.then(count => `${count}-${(new Date()).getFullYear()}`)
.catch(error => console.error(error))
}
}
});
var Foo = module.exports = mongoose.model('Foo', FooSchema);
很不幸,我收到以下错误消息:
TypeError: Foo.estimatedDocumentCount is not a function
这是package.json
:
"mongodb": "^2.2.33",
"mongoose": "^4.13.2",
谢谢。