nodejs循环和回调

时间:2017-10-31 08:39:07

标签: javascript node.js mongodb

最近我写了一个关于nodejs的博客,当谈到为帖子添加一些标签时,出现了问题。在我看来,帖子和标签之间的关系是多对多的,每个帖子有几个标签,反过来,每个标签也匹配一些帖子。所以我在mongodb中创建一个标签集合和一个帖子集合。

$object = $this->context->getObject();

// Create data
if (null == $object->getId()) {
    -- enter code for check validation
}

// Update data
if ($object->getId() != null) {
    -- check value (if same data just return;) --
    -- if value has changed just enter code for check validation --
}

并将标签存储为post中的数组。如我们所知,当我创建帖子时,我将通过方法POST从html获取帖子的tagName,所以我必须使用

exports.Post=mongolass.model("Post",{
        author:{type:Mongolass.Types.ObjectId,ref:"User"},
        title:{type:"string"},
        content:{type:"string"},
        pv:{type:"number"},
       tagIds:[{tagId::Mongolass.Types.ObjectId}]
    });
    exports.Tag=mongolass.model("Tag",{
      tagName:{type:"string"}
    });
    exports.Tag.index({tagName:1},{unique:true}).exec();

获取对象标记,并使用

 getTagByName:function getTagByName(tagName){
            return Tag.find({tagName:tagName}).exec();
        }

获取tagId,不幸的是,因为帖子有很多标签,所以我必须使用for循环来获取帖子的所有tagId,我也想将这些tagId收集到一个数组,因此我可以将它推送到我的Post模型,但循环和回调使其变得困难。 任何建议表示赞赏。

0 个答案:

没有答案