首先,我知道Leaderboard示例中的方式,即使用循环来执行多插入。但是,当我这样做时,我在服务器控制台上收到mongoDB错误,停止插入。我认为问题可能来自coffeescript总是返回的事实,所以我在纯JS中尝试它并且它仍然无效(除了在浏览器控制台上)。
以下是多插入
的代码#find opponent deck
opponent_deck = (Card_Reference.find deck_id: opponent.deck).fetch()
# save a temporary deck
_.each opponent_deck, (card) ->
Deck.insert card
代码本身有问题吗?
答案 0 :(得分:1)
@Tarang是对的,在重新插入卡之前,您应该从卡中删除_id
。此外,您可能希望更新deck_id
参数以反映您将卡添加到临时套牌中:
# save a temporary deck
_.each opponent_deck, (card) ->
delete card._id
card.deck_id = tmp_deck_id
Deck.insert card