MongoDB -- 更新

MongoDB数组操作
本文介绍了MongoDB中对数组进行操作的方法,包括删除指定元素、添加单个或多个元素等,并详细解释了$pull、$pullAll、$push、$pushAll及$each等操作符的用法。

$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> ... ] 
			} 
		}
	}
)








转载于:https://www.cnblogs.com/blfshiye/p/5063734.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值