MongoDB -- 更新

$pull:

db.collection.update( 
	<query>,
	{ 
		$pull: { 
			<arrayField>: <query2> 
		} 
	}
)




$pullAll:

db.collection.update( 
	<query>,
	{ 
		$pullAll: { 
			<arrayField>: [ <value1>, <value2> ... ] 
		} 
	}
)



$push:

db.collection.update( 
	<query>,
	{ 
		$push: { 
			<field>: <value> 
		} 
	}
)

将 value 压入 field 中。若是 value 本身也是数组,那么是将整个数组当做一个元素压入。不去重





$pushAll:

db.collection.update( 
	{ 
		field: value 
	}, 
	{ 
		$pushAll: 
		{ 
			field1: [ value1, value2, value3 ] 
		} 
	} 
);

若压入的 value 是单个值将会报错,必须是一个 array,不去重


当 value 为一个 array 的时候,将 value 里面的值分别增加到 field 中。而不是当做一个总体



$each 配合 $addToSet :

仅仅将不存于数组 field 中的多值增加到field中。去重


db.COLLECTION.update( 
	<query>,
	{
		$addToSet: { 
			<field>: { 
				$each: [ <value1>, <value2> ... ] 
			} 
		}
	}
)



$each 配合 $push:

将多值压入数组 field 中,不去重

db.COLLECTION.update( 
	<query>,
	{
		$push: { 
			<field>: { 
				$each: [ <value1>, <value2> ... ] 
			} 
		}
	}
)








posted @ 2015-12-21 16:08  blfshiye  阅读(176)  评论(0编辑  收藏  举报