mongodb添加、修改、删除文档内部属性

注:本文测试,使用的是nosqlBooster客户端

1.添加文档内部属性

db.formData.update({“data.库管员信息.value._id”:1182499146439987200},{"$set":{“data.库管员信息.value.$.lock”:false}}, {upsert: true});
mongodb添加、修改、删除文档内部属性_第1张图片

2.修改文档属性

db.formData.update({“data.库管员信息.value._id”:1182499146439987200},{"$set":{“data.库管员信息.value.$.lock”:true}});
mongodb添加、修改、删除文档内部属性_第2张图片

3. 删除文档内部属性

db.formData.update({“data.库管员信息.value._id”:1182499146439987200},{"$unset":{“data.库管员信息.value.$.lock”:false}});
mongodb添加、修改、删除文档内部属性_第3张图片

4.其他

/**
* 1. 批量操作文档内部属性;
* 2. 混合删操作文档内部属性;
*/
db.categories.update(
	{}, 
	{ $unset: { deleted_at: 1, desc: 1 } , 
	  $set: { slug: 1, description: 1 }
	}, 
	{ multi: true })

5. 成功案例

亲测可用:

db.formData.find({"_id":1182499099035963392});
// db.formData.update({"_id":1182499099035963392},{"$set":{"data.库管员信息.current_order":12}}); // 增
// db.formData.update({"_id":1182499099035963392},{"$set":{"data.库管员信息.current_order":0}}); // 改
// db.formData.update({"_id":1182499099035963392},{"$unset":{"data.库管员信息.current_order":12}}); // 删

参考:https://www.jb51.net/article/60918.htm
参考:https://docs.mongodb.com/manual/reference/operator/update/positional/#update-documents-in-an-array

你可能感兴趣的:(cnCommdata,mongoDB,java技术)