MongoDB のドキュメントの配列からいくつかの項目を削除しようとしています:
doc1
items
item
id=1
item
id=2
item
id=3
doc2
items
item
id=4
item
id=5
item
id=6
これを使用して、たとえばアイテム id=5 を削除します。
(...)
updateItems({'items.id': 5}, { $unset: { 'items.$': 1 }}, { $pull: {'items' : null} });
(...)
function updateItems(objmatch, objunset, objpull){
coremodels.getProfileTable(req).update(
objmatch,
objunset,
{multi: true}, function(err) {
coremodels.getProfileTable(req).update(
objmatch,
objpull,
{multi: true}, function(err) {
console.log('COMPLETED');
});
(...)
$unset は正常に動作しますが、$pull は動作していないようです。この操作の最終結果は、空の (Null) 項目 5 です。
$pull が空のドキュメントを削除しない理由はありますか?
よろしくお願いします。