MongoDB之集合管理二
上一博客写了集合的管理,集合里面存放的是文档,因此聪明的你应该能想到这篇是学习文档管理。要说标题应该是文档管理,不过对于文档的管理都是先获得集合对象,在集合对象上调用方法管理文档,所以标题还是对集合的管理。
在集合管理中,要管理集合首先要获得这个集合,同样文档管理也是要先获得集合对象,然后通过集合对象管理文档。
一、将文档添加到集合中
为什么要先说添加呢,因为不添加就没法说下面的查找。将文档添加到一个集合中,首先需要得到集合对象,通过几个对象调用insert(document)或save(document)方法。document对象是被转换成BSON并存储在集合中的格式正确的JS对象。下面图中使用insert、save两种方式添加文档。
二、在集合中查找文档
查找英文单词有search、find等(学习下英语,毕竟我差一分没过四级,你可能会问除了这两个还有其他的吗?毕竟用的是等,其实我想告诉你我的英文词典中就这两个,其他的我还真不知道有没有)。好,闲篇到此结束。在集合中查找没想到是用find,还没超过我的知识范围.下图中可以看到有使用find([query])方法来查找文档。query指定包含字段和值得查询文档与集合中的文档匹配。
三、从集合中删除文档
删除的话是通过集合对象调用remove([query])来删除。不过这里如果不带query直接使用Remove()来删除则会报错,如下图,如果真想删除所有的可以使用remove({})传一个空js对象。
上面在学习集合中查找添加文档时添加了两个文档。这里又添加了一个文档,方便删除查看效果。
在上面的图中可以看到,直接使用remove()时是报错的。使用remove({})可以删除全部文档。
四、更新集合中的文档
其实对于集合的管理在第一篇博客http://www.cnblogs.com/5ishare/p/5628126.html中也有简单的提到,这次呢还是简单的说一下,较复杂的后面会请听下回分解。
要更新集合中的文档首先应得到该集合。然后使用save(object)方法来保存对某一个对象的更改。也可以使用update(query,update,options)方法来查询集合中的文档,然后在它们被找到时更新它们。 query参数指定了字段和值与集合这的文档匹配的一个查询文档。update参数为一个对象,它指定在作出更新时使用的更新运算符。如$inc递增该字段的值。$设置字段的值,$push将一个条目推送到数组等。 option参数是一个对象,有两个布尔值属性,multi和upsert。upsert为true时若没有找到就创建一个新的文档。如果multi为true,与匹配的所有文档都被更新,否则只有第一个文档被更新。
下图中首先创建了3个文档,然后更新age=25的,不过multi=false,所以只更新第一个文档,还有一个age=25的存在。
对于创建文档也挺有意思,之前都是一个一个的创建,刚才试了下批量创建,下面的图也看到了要使用数组的形式添加.
作者:社会主义接班人
出处:http://www.cnblogs.com/5ishare/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果文中有什么错误,欢迎指出。以免更多的人被误导。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?