0
私は2つのコレクションOrderとTabItemを持っています。 私はorder idの配列を取得しています。これらのIDとcheckレコードがTabItemにループする必要があります。レコードが存在する場合は、TabItemを更新し、新しいTabItemを作成します。私のコードは以下の通りです:ノードjsで新しいコレクションを更新または作成
async.each(orders, function(order, done){
TabItem.findOne({order_id: order._id}, function(err, tab){
if(err) { console.log(err)}
if(tab != null) {
tab.quantity += order.quantity
tab.save(function(err){
if(err) { throw err }
done(true)
})
}
else {
TabItem.create({order_id: data._id, menu_item_id: each_tab.menu_item_id, quantity: each_tab.quantity}, function(err, tab_item){
if(err){
}
})
}
})
done();
})
このメソッドを呼び出すときにサーバーがハングしています。誰も私からこれを助けることができますか?
ありがとうございました。レコードが存在しない場合はどうなりますか? – Sunny
'{upsert:true}'を参照してください。指定されたフィールドにレコードが存在しない場合、レコード自体が挿入されます。 –