欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-01-22 23:27:04
...

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

1.添加文档内部属性

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

2.修改文档属性

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

3. 删除文档内部属性

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

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