我怎么能写一个递归的Mongoose方法?

时间:2015-12-02 17:03:21

标签: javascript mongodb mongoose

我有一个在MOngoDB / Mongoose中定义的递归数据结构。

如果我想在结果数据对象中添加方法,那就简单如下:

FooSchema = {name:String, children:[{type:Schema.ObjectId}]};
FooSchema.methods.nonRecursiveMethod = function(){
    //Place code here
};
model.exports = mongoose.model('Foo', FooSchema);

问题:如何编写需要递归的方法?它需要能够在创建之前调用生成的模型对象('Foo')。 E. G。

FooSchema = {name:String, children:[{type:Schema.ObjectId}]};
FooSchema.methods.nonRecursiveMethod = function(){
    Foo.where('_id').in(this.children).exec(function(err, results){
       results.forEach(function(item, index, array){ item.FooSchema });
    })
};
model.exports = mongoose.model('Foo', FooSchema); // Generates 'Foo' object

示例操作可能是我需要销毁父节点及其所有子节点的地方。我希望这个逻辑存在于Foo对象上,因为它就是它所属的地方,但是......我如何在那里得到它?

0 个答案:

没有答案