MongoDB基础操作
来源:互联网 发布:淘宝主图背景图片大全 编辑:程序博客网 时间:2024/06/07 02:36
插入
db.student.insert({ "name":"zhangsan", "age":18, "gender":"male", "favorites":[ "football", "basketball" ]})结果WriteResult({ "nInserted" : 1 })
更新
更新一条db.collection.updateOne(<filter>, <update>, <options>)更新多条db.collection.updateMany(<filter>, <update>, <options>)替换文档的整个内容,除了_id字段db.collection.replaceOne(<filter>, <replacement>, <options>)更新/替换db.collection.update(<filter>, <update/replacment>, <options>)
updateOne
{ "_id" : ObjectId("58b0008852a845f562d12fe1"), "item" : "paper", "qty" : 100, "size" : { "h" : 8.5, "w" : 11, "uom" : "in" }, "status" : "D" }更新命令db.inventory.updateOne( { item: "paper" }, { $set: { "size.uom": "cm", status: "P" } })更新结果{ "_id" : ObjectId("58b0008852a845f562d12fe1"), "item" : "paper", "qty" : 100, "size" : { "h" : 8.5, "w" : 11, "uom" : "cm" }, "status" : "P" }
updateMany
{ "_id" : ObjectId("58b0008852a845f562d12fdd"), "item" : "journal", "qty" : 25, "size" : { "h" : 14, "w" : 21, "uom" : "cm" }, "status" : "A" }{ "_id" : ObjectId("58b0008852a845f562d12fdf"), "item" : "mousepad", "qty" : 25, "size" : { "h" : 19, "w" : 22.85, "uom" : "cm" }, "status" : "P" }{ "_id" : ObjectId("58b0008852a845f562d12fe3"), "item" : "postcard", "qty" : 45, "size" : { "h" : 10, "w" : 15.25, "uom" : "cm" }, "status" : "A" }更新命令db.inventory.updateMany( { "qty": { $lt: 50 } }, { $set: { "size.uom": "in", status: "P" } })更新结果{ "_id" : ObjectId("58b0008852a845f562d12fdd"), "item" : "journal", "qty" : 25, "size" : { "h" : 14, "w" : 21, "uom" : "in" }, "status" : "P" }{ "_id" : ObjectId("58b0008852a845f562d12fdf"), "item" : "mousepad", "qty" : 25, "size" : { "h" : 19, "w" : 22.85, "uom" : "in" }, "status" : "P" }{ "_id" : ObjectId("58b0008852a845f562d12fe3"), "item" : "postcard", "qty" : 45, "size" : { "h" : 10, "w" : 15.25, "uom" : "in" }, "status" : "P" }
replaceOne
{ "_id" : ObjectId("58b0008852a845f562d12fe1"), "item" : "paper", "qty" : 100, "size" : { "h" : 8.5, "w" : 11, "uom" : "cm" }, "status" : "P" }更新命令db.inventory.replaceOne( { item: "paper" }, { item: "paper", instock: [ { warehouse: "A", qty: 60 }, { warehouse: "B", qty: 40 } ] })更新结果{ "_id" : ObjectId("58b0008852a845f562d12fe1"), "item" : "paper", "instock" : [ { "warehouse" : "A", "qty" : 60 }, { "warehouse" : "B", "qty" : 40 } ] }
删除
删除所有db.inventory.deleteMany({})删除所有db.inventory.remove({})根据条件删除多条db.inventory.deleteMany({ status : "A" })根据条件删除多条db.inventory.remove( { status : "P" } )删除1条db.inventory.deleteOne( { status: "D" } )删除1条db.inventory.remove({ status: "D" }, 1)
查询
简单查询
select * from student;
> db.student.find(){ "_id" : ObjectId("58afd88952a845f562d12fdb"), "name" : "zhangsan", "age" : 18, "gender" : "male", "favorites" : [ "football", "basketball" ] }
友好显示
> db.student.find().pretty(){ "_id" : ObjectId("58afd88952a845f562d12fdb"), "name" : "zhangsan", "age" : 18, "gender" : "male", "favorites" : [ "football", "basketball" ]}
选择若干字段显示,并按照列倒序排列。其中1表示升序排列,-1表示降序排列。
select vote_num,title from book_info order by vote_num desc limit 10;
> db.book_info.find({},{"vote_num":1,"title":1}).sort({"vote_num":-1}).limit(10){ "_id" : ObjectId("58afd690e138236112ede4aa"), "title" : "追风筝的人", "vote_num" : 247079 }{ "_id" : ObjectId("58afd695e138236112ede4f7"), "title" : "小王子", "vote_num" : 210926 }{ "_id" : ObjectId("58afd694e138236112ede4ec"), "title" : "围城", "vote_num" : 179228 }{ "_id" : ObjectId("58afd697e138236112ede515"), "title" : "白夜行", "vote_num" : 172310 }{ "_id" : ObjectId("58afd690e138236112ede49e"), "title" : "解忧杂货店", "vote_num" : 166469 }{ "_id" : ObjectId("58afd6d4e138236112ede955"), "title" : "梦里花落知多少", "vote_num" : 142771 }{ "_id" : ObjectId("58afd695e138236112ede4f2"), "title" : "不能承受的生命之轻", "vote_num" : 129771 }{ "_id" : ObjectId("58aff15de138236112efdd1c"), "title" : "三体", "vote_num" : 125780 }{ "_id" : ObjectId("58afd69ce138236112ede56c"), "title" : "达·芬奇密码", "vote_num" : 123163 }{ "_id" : ObjectId("58afd69be138236112ede568"), "title" : "活着", "vote_num" : 119525 }
select title,vote_num from book_info where title=’三体’;
> db.book_info.find({"title":"三体"},{"vote_num":1,"title":1}).limit(10){ "_id" : ObjectId("58aff15de138236112efdd1c"), "title" : "三体", "vote_num" : 125780 }{ "_id" : ObjectId("58aff4eee138236112f01980"), "title" : "三体", "vote_num" : 51 }
select title,vote_num from book_info where vote_num<100 limit 5;
> db.book_info.find({"vote_num":{$lt:100}},{"vote_num":1,"title":1}).limit(5){ "_id" : ObjectId("58afd68fe138236112ede49d"), "title" : "酝酿之道", "vote_num" : 32 }{ "_id" : ObjectId("58afd690e138236112ede49f"), "title" : "小津安二郎美食三昧", "vote_num" : 18 }{ "_id" : ObjectId("58afd690e138236112ede4a0"), "title" : "活着回来的男人", "vote_num" : 0 }{ "_id" : ObjectId("58afd690e138236112ede4a1"), "title" : "果壳里的一百五十九个宇宙", "vote_num" : 14 }{ "_id" : ObjectId("58afd690e138236112ede4a5"), "title" : "七海游侠:盐海传奇", "vote_num" : 0 }
select title,vote_num from book_info where title like ‘%三体%’;
> db.book_info.find({"title":/三体/},{"vote_num":1,"title":1}).limit(10){ "_id" : ObjectId("58afd7cae138236112edfb0e"), "title" : "<三体>导读", "vote_num" : 47 }{ "_id" : ObjectId("58afec5de138236112ef8419"), "title" : "魏三体石经古文辑证", "vote_num" : 0 }{ "_id" : ObjectId("58aff15de138236112efdd1c"), "title" : "三体", "vote_num" : 125780 }{ "_id" : ObjectId("58aff4c1e138236112f016dc"), "title" : "《三体》中的物理学", "vote_num" : 341 }{ "_id" : ObjectId("58aff4eee138236112f01980"), "title" : "三体", "vote_num" : 51 }{ "_id" : ObjectId("58aff4eee138236112f01981"), "title" : "三体2", "vote_num" : 662 }{ "_id" : ObjectId("58aff4eee138236112f01982"), "title" : "三体3", "vote_num" : 455 }
模糊查询操作其实是用正则表达式完成的
> db.book_info.find({"title":/三体\d+/},{"vote_num":1,"title":1}).limit(10){ "_id" : ObjectId("58aff4eee138236112f01981"), "title" : "三体2", "vote_num" : 662 }{ "_id" : ObjectId("58aff4eee138236112f01982"), "title" : "三体3", "vote_num" : 455 }
select * from book_info limit 0,5;
select * from book_info limit 5,5;
> db.book_info.find({},{"vote_num":1,"title":1}).limit(5){ "_id" : ObjectId("58afd68fe138236112ede49b"), "title" : "一个陌生女人的来信", "vote_num" : 38478 }{ "_id" : ObjectId("58afd68fe138236112ede49c"), "title" : "猎豹", "vote_num" : 598 }{ "_id" : ObjectId("58afd68fe138236112ede49d"), "title" : "酝酿之道", "vote_num" : 32 }{ "_id" : ObjectId("58afd690e138236112ede49e"), "title" : "解忧杂货店", "vote_num" : 166469 }{ "_id" : ObjectId("58afd690e138236112ede49f"), "title" : "小津安二郎美食三昧", "vote_num" : 18 }> db.book_info.find({},{"vote_num":1,"title":1}).limit(5).skip(5){ "_id" : ObjectId("58afd690e138236112ede4a0"), "title" : "活着回来的男人", "vote_num" : 0 }{ "_id" : ObjectId("58afd690e138236112ede4a1"), "title" : "果壳里的一百五十九个宇宙", "vote_num" : 14 }{ "_id" : ObjectId("58afd690e138236112ede4a2"), "title" : "直到那一天", "vote_num" : 319 }{ "_id" : ObjectId("58afd690e138236112ede4a3"), "title" : "夜色人生", "vote_num" : 837 }{ "_id" : ObjectId("58afd690e138236112ede4a4"), "title" : "寂然的狂喜", "vote_num" : 119 }
删除collection
db.collection_name.drop()
备份与恢复
备份数据库
mongodump –db=db_name
备份collection
mongodump –db=db_name –collection=collection_name
恢复数据库
mongorestore dump/
附录
比较查询操作符列表
- $eq 等于
{ <field>: { $eq: <value> } }
- $ne 不等于
{field: {$ne: value} }
- $gt 大于
{field: {$gt: value} }
- $gte 大于等于
{field: {$gte: value} }
- $lt 小于
{field: {$lt: value} }
- $lte 小于等于
{ field: { $lte: value} }
- $in 在集合内
{ field: { $in: [<value1>, <value2>, ... <valueN> ] } }
- $nin 不在集合内
{ field: { $nin: [ <value1>, <value2> ... <valueN> ]} }
逻辑查询操作符列表
- $or 或
{ $or: [ { <expression1> }, { <expression2> }, ... , { <expressionN> } ] }
- $and 且
{ $and: [ { <expression1> }, { <expression2> } , ... , { <expressionN> } ] }
- $not 非
{ field: { $not: { <operator-expression> } } }
- $nor 异或
{ $nor: [ { <expression1> }, { <expression2> }, ... { <expressionN> } ] }
元素查询操作符列表
- $exists 是否存在某个字段
{ field: { $exists: <boolean> } }
- $type 是否是某个变量类型
{ field: { $type: <BSON type number> | <String alias> } }
详情参考https://docs.mongodb.com/manual/reference/operator/query/type/
参考
- mongodb文档
0 0
- Mongodb基础操作学习
- mongodb基础操作
- mongodb基础操作
- mongodb基础操作
- MongoDB 基础操作
- mongodb基础操作
- MongoDB基础操作
- MongoDB基础操作
- python基础操作mongodb
- Mongodb基础操作
- MongoDB数据库基础操作
- mongodb基础操作
- MongoDB基础操作
- MongoDB与PHP -- 基础操作
- MongoDB-基础-条件操作符
- MongoDB简介及基础操作
- MongoDB简介及基础操作
- python操作mongodb之基础操作
- 安卓之通知栏
- 【WebDriver】调用JavaScript
- WordPress增加侧边栏sidebar
- lavarel5.2中非法登录
- Caffe中Loss Layer原理的简单梳理
- MongoDB基础操作
- golang slice index out of range错误
- 历届试题 错误票据
- csdn如何转载别人的文章
- 46. Permutations(unsolved)
- wordpress修改固定链接之后 无法访问的解决办法 标签: WordPress 2015-09-24 14:09 223人阅读 评论(0) 收藏 举报 分类: WordPress(6) 本地同
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- js callback , ajax call back can observer mvvm
- C++智能指针