MongoDB修改、删除文档的域属性实例

(编辑:jimmy 日期: 2024/10/19 浏览:2)

由于本博使用的博客程序是边开发边使用的,所以开发过程中动态创建了某些现在不需要的属性

MongoDB 是无 Schema 的,不像关系数据库那样列属性定义在表而非记录中,MongoDB 的集合中的每个文档可以拥有各自不同的域属性。

MongoDB 中使用 db.collections.update 修改集合中若干文档的域属性,使用 $set 增加域,$unset 删除域。

删除集合中所有文档的一个域
复制代码 代码如下:
db.posts.update({}, { $unset: { deleted_at: 1 } }, { multi: true })

1.第一个参数表示选中某些文档,这里为 {} 表示选中当前 posts 集合中的所有文档
2.第二个参数为具体的更新操作,$unset 表示删除域
3.第三个参数为额外选项,{ multi: true } 表示更新所有满足要求的文档,默认只会更新第一个
也可以同时删除多个域
复制代码 代码如下:
db.categories.update({}, { $unset: { deleted_at: 1, desc: 1 } }, { multi: true })

也以同时删除和新增域
复制代码 代码如下:
db.tags.update(
    {},
    { $unset: { deleted_at: 1 }, $set: { slug: 1, description: 1 } },
    { multi: true }
)

一句话新闻

微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。