
MongoDB_文档_插入_跟新_删除
发布日期:2021-05-04 14:09:18
浏览次数:20
分类:技术文章
本文共 4170 字,大约阅读时间需要 13 分钟。
MongoDB
文章目录
1.插入文档
MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下:
db.COLLECTION_NAME.insert(document)
实例
以下文档可以存储在 MongoDB 的 databases1数据库 的 col 集合中:>db.col.insert({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: 'databases1', tags: ['mongodb', 'database', 'NoSQL'], likes: 100})
以上实例中 col 是我们的集合名,如果该集合不在该数据库中, MongoDB 会自动创建该集合并插入文档。
查看已插入文档:
> db.col.find(){ "_id" : ObjectId("56064886ade2f21f36b03134"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "database1","tags" : [ "mongodb", "database1", "NoSQL" ], "likes" : 100 }>
我们也可以将数据定义为一个变量,如下所示:
> document=({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: 'database1', tags: ['mongodb', 'database', 'NoSQL'], likes: 100});
执行后显示结果如下:
{ "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "databases1", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100}
执行插入操作:
> db.col.insert(document)WriteResult({ "nInserted" : 1 })>
插入文档你也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。
2.更新文档
MongoDB 使用 update() 和 save() 方法来更新集合中的文档。
2.1update() 方法
update() 方法用于更新已存在的文档。语法格式如下:
db.collection.update(, , { upsert: , multi: , writeConcern: })
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如 , , ,inc…)等,也可以理解为sql update查询内set后面的 upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。 multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。 writeConcern :可选,抛出异常的级别。实例
>db.col.insert({ title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: 'database1, tags: ['mongodb', 'database', 'NoSQL'], likes: 100})>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) # 输出信息> db.col.find().pretty(){ "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "database1", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100}>
2.2save() 方法
save() 方法通过传入的文档来替换已有文档。语法格式如下:
db.collection.save(, { writeConcern: })
参数说明:
document : 文档数据。
writeConcern :可选,抛出异常的级别。 实例 以下实例中我们替换了 _id 为 56064f89ade2f21f36b03136 的文档数据:>db.col.save({ "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "database2" "tags" : [ "mongodb", "NoSQL" ], "likes" : 110})
替换成功后,我们可以通过 find() 命令来查看替换后的数据
>db.col.find().pretty(){ "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "database1" "tags" : [ "mongodb", "NoSQL" ], "likes" : 110}>
更多实例
只更新第一条记录:db.col.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } );
全部更新:
db.col.update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true );
只添加第一条:
db.col.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false );
全部添加进去:
db.col.update( { "count" : { $gt : 5 } } , { $set : { "test5" : "OK"} },true,true );
全部更新:
db.col.update( { "count" : { $gt : 15 } } , { $inc : { "count" : 1} },false,true );
只更新第一条记录:
db.col.update( { "count" : { $gt : 10 } } , { $inc : { "count" : 1} },false,false );
3.删除文档
语法
remove() 方法的基本语法格式如下所示:db.collection.remove(, )
db.collection.remove(, { justOne: , writeConcern: })
参数说明:
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。 writeConcern :(可选)抛出异常的级别。 实例>db.col.remove({'title':'MongoDB 教程'})WriteResult({ "nRemoved" : 2 }) # 删除了两条数据>db.col.find()
删除第一条
>db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)
删除所有数据
>db.col.remove({})>db.col.find()>```
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年03月15日 02时24分55秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
wxAUI - wxWidgets用户界面框架 - 使用感受
2019-03-03
wxSqlite3 - wxWidgets封装的Sqlite数据库访问类库 - 使用感受
2019-03-03
wxSqlite3 和 wxPropertyGrid 类库的说明
2019-03-03
wxSqlite3类库的使用感受 - 关于乱码的问题
2019-03-03
天涯人脉通讯录 - 设计草图
2019-03-03
★★★男女朋友价格计算器V1.6 - 看看你的朋友值多少钱 :-)
2019-03-03
wxWidgets 最新版2.8.11,终于放出来了
2019-03-03
报表模板更新 - 代码统计工具 - 最新版3.4.1.1 放出
2019-03-03
linux使用yum安装软件报错
2019-03-03
python学习09:暂停一秒后再输出
2019-03-03
4、Mysql 主从复制报错[ERROR] [MY-013117] 踩坑
2019-03-03
6、ShardingSphere 之 读写分离
2019-03-03
3 项目范围管理
2019-03-03
布隆过滤器
2019-03-03
C++ STL
2019-03-03
拓扑排序
2019-03-03
解方程
2019-03-03
中缀转后缀 逆波兰表达式求值
2019-03-03
练习赛 位运算 思维 思维
2019-03-03