添加/删除Sails集合非常慢

时间:2014-10-10 22:39:43

标签: sails.js

我正在Sails框架中玩一个小卡片游戏后端 - 只是为了好玩,并且现在开始使用框架。

我在模特身上使用收藏时遇到了问题 - 不知道我是否错误地使用它 - 但它真的很慢 - 并且不知道为什么。

简单的例子:

// models / Deck.js
module.exports = {

  attributes: {

    game : {
      model : 'game'
    },
    cards : {
      collection : 'card'
    },
  },

  newDeck : function(game_id, callback) {
    // 52 Cards
    Card.find({}).exec(function(err, results) {
        Deck.create({game : game.id}).exec(function(err, deck) {

          while(cards.length) {
            deck.cards.add(cards.pop());
          }
          deck.save(function(err, deck) {
            if(err) callback(err);
            callback(null, deck);
          });

        });
    }
}

当我调用newDeck函数时,它需要5到10秒。完成 - 它在.save()函数中的全部,问题是,如果我在1秒内将其完成评论。

我的另一个例子是我只删除一条记录,这也需要大约5-6秒。

deck.cards.remove(card.id)
    deck.save(function(err, deck){
})

我做错了什么。 我试图在另一个例子中创建52条记录,这需要不到1秒。 - 无法弄清楚我做错了什么。

1 个答案:

答案 0 :(得分:0)

文档说如果您在模型上有任何关联,那么在保存时会填充它们。

为防止这种情况,请使用:

export default iter

http://sailsjs.org/documentation/reference/waterline-orm/records/save