我正在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秒。 - 无法弄清楚我做错了什么。
答案 0 :(得分:0)
文档说如果您在模型上有任何关联,那么在保存时会填充它们。
为防止这种情况,请使用:
export default iter
http://sailsjs.org/documentation/reference/waterline-orm/records/save