具有自动文档计数的猫鼬字段

时间:2018-10-22 17:14:13

标签: mongodb mongoose mongoose-schema

我正在尝试创建一个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",

谢谢。

0 个答案:

没有答案