mongdb文档操作

1、查询

<pre name="code" class="sql"><pre name="code" class="sql">mongo --quiet
> use cric
switched to db cric
> show collections
c1
system.indexes
> db.c1.find()
{ "_id" : ObjectId("55dc2538e46c747066598ab5"), "name" : "test", "age" : 30 }
{ "_id" : ObjectId("55dfcf4c78038c96c84ebd5e"), "name" : "text", "age" : 20 }
> db.c1.find({name:"test"})
{ "_id" : ObjectId("55dc2538e46c747066598ab5"), "name" : "test", "age" : 30 }
> db.c1.find({name:"aaa"})
> db.c2.find()
#只查询某些键值
> db.c1.find({},{age:1})
{ "_id" : ObjectId("55dc2538e46c747066598ab5"), "age" : 20 }
{ "_id" : ObjectId("55dfcf4c78038c96c84ebd5e"), "age" : 30 }
#不展示某些键值
> db.c1.find({},{_id:0})
{ "name" : "test", "age" : 30 }
{ "name" : "text", "age" : 20 }
 
 

说明:

a.集合c1中有两条文档数据,集合c2中没有数据
b.查询时(包括之后的插入),不用预先定义集合
c.不加参数查询全部,可添加参数查询相关内容

2、插入

> db.c1.insert({"name":"Davi"})
WriteResult({ "nInserted" : 1 })
> db.c1.insert({"age":25})
WriteResult({ "nInserted" : 1 })
> db.c1.insert({"_id":1,"name":"Ham"})
WriteResult({ "nInserted" : 1 })
> db.c1.find()
{ "_id" : ObjectId("55dc2538e46c747066598ab5"), "name" : "test", "age" : 30 }
{ "_id" : ObjectId("55dfcf4c78038c96c84ebd5e"), "name" : "text", "age" : 20 }
{ "_id" : ObjectId("55dfc72a78038c96c84ebd58"), "name" : "Davi" }
{ "_id" : ObjectId("55dfc77978038c96c84ebd59"), "age" : 25 }
{ "_id" : 1, "name" : "Ham" }

说明:插入格式比较灵活,不同于表,没有字段、类型等限制。_id列自动生成,可以自定义插入的值

或save函数

> db.c1.save({"sex":"F"})
WriteResult({ "nInserted" : 1 })
> db.c1.find()
{ "_id" : ObjectId("55dc2538e46c747066598ab5"), "name" : "test", "age" : 30 }
{ "_id" : ObjectId("55dfcf4c78038c96c84ebd5e"), "name" : "text", "age" : 20 }
{ "_id" : ObjectId("55dfc72a78038c96c84ebd58"), "name" : "Davi" }
{ "_id" : ObjectId("55dfc77978038c96c84ebd59"), "age" : 25 }
{ "_id" : 1, "name" : "Ham" }
{ "_id" : ObjectId("55dfc85278038c96c84ebd5a"), "sex" : "F" }

或定义文档对象,然后插入

> co1={"name":"John","age":20,"sex":"M"}
{ "name" : "John", "age" : 20, "sex" : "M" }
> co2={"name":"Tom","age":22,"sex":"F"}
{ "name" : "Tom", "age" : 22, "sex" : "F" }
> db.c1.insert(co1)
WriteResult({ "nInserted" : 1 })
> db.c1.save(co2)
WriteResult({ "nInserted" : 1 })
> db.c1.find()
{ "_id" : ObjectId("55dc2538e46c747066598ab5"), "name" : "test", "age" : 30 }
{ "_id" : ObjectId("55dfcf4c78038c96c84ebd5e"), "name" : "text", "age" : 20 }
{ "_id" : ObjectId("55dfc72a78038c96c84ebd58"), "name" : "Davi" }
{ "_id" : ObjectId("55dfc77978038c96c84ebd59"), "age" : 25 }
{ "_id" : 1, "name" : "Ham" }
{ "_id" : ObjectId("55dfc85278038c96c84ebd5a"), "sex" : "F" }
{ "_id" : ObjectId("55dfc95f78038c96c84ebd5b"), "name" : "John", "age" : 20, "sex" : "M" }
{ "_id" : ObjectId("55dfd01078038c96c84ebd5f"), "name" : "Tom", "age" : 22, "sex" : "F" }

3、删除

>  db.c1.remove({name:"test"})
WriteResult({ "nRemoved" : 1 })
> db.c1.remove({name:"test"})
WriteResult({ "nRemoved" : 0 })
> db.c1.remove({_id:1})
WriteResult({ "nRemoved" : 1 })
> db.c1.find()
{ "_id" : ObjectId("55dfcf4c78038c96c84ebd5e"), "name" : "text", "age" : 20 }
{ "_id" : ObjectId("55dfc72a78038c96c84ebd58"), "name" : "Davi" }
{ "_id" : ObjectId("55dfc77978038c96c84ebd59"), "age" : 25 }
{ "_id" : ObjectId("55dfc85278038c96c84ebd5a"), "sex" : "F" }
{ "_id" : ObjectId("55dfc95f78038c96c84ebd5b"), "name" : "John", "age" : 20, "sex" : "M" }
{ "_id" : ObjectId("55dfd01078038c96c84ebd5f"), "name" : "Tom", "age" : 22, "sex" : "F" }

说明:键可以不加双引号,同样适应查询、插入及之后的更新等操作。
4、修改

update函数

> db.c1.find()
{ "_id" : ObjectId("55dfc96878038c96c84ebd5c"), "name" : "John", "age" : 20, "sex" : "M" }
{ "_id" : ObjectId("55dfd01078038c96c84ebd5f"), "name" : "Tom", "age" : 22, "sex" : "F" }
> db.c1.update({name:"Tom"},{age:25})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.c1.update({name:"Dave"},{name:"Davi"},true)
WriteResult({
        "nMatched" : 0,
        "nUpserted" : 1,
        "nModified" : 0,
        "_id" : ObjectId("55dfdfae54995179b649022f")
})
> db.c1.find()db.c1.find()
{ "_id" : ObjectId("55dfc96878038c96c84ebd5c"), "name" : "John", "age" : 20, "sex" : "M" }
{ "_id" : ObjectId("55dfd01078038c96c84ebd5f"), "age" : 25 }
{ "_id" : ObjectId("55dfdfae54995179b649022f"), "name" : "Davi" }

说明:a. 更新完成后只保留更新键值对,其它键值对被删除。

            b. 第一个参数为更新条件,第二个参数为更新的内容,第三个参数为true时,更新时,数据存在则更新,否则插入后更新

修改器

$set只更新匹配条件的键值,保留其它键值

> db.c1.find()
{ "_id" : ObjectId("55dfe9d378038c96c84ebd6f"), "name" : "John", "age" : 20, "sex" : "M" }
{ "_id" : ObjectId("55dfe9d378038c96c84ebd70"), "name" : "Tom", "age" : 21, "sex" : "F" }
{ "_id" : ObjectId("55dfe9d378038c96c84ebd71"), "name" : "Davi", "age" : 20, "sex" : "F" }
{ "_id" : ObjectId("55dfe88678038c96c84ebd6d"), "name" : "Lily", "age" : 20, "sex" : "M" }
> db.c1.update({name:"John"},{age:21})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.c1.find()
{ "_id" : ObjectId("55dfe9d378038c96c84ebd6f"), "age" : 21 }
{ "_id" : ObjectId("55dfe9d378038c96c84ebd70"), "name" : "Tom", "age" : 21, "sex" : "F" }
{ "_id" : ObjectId("55dfe9d378038c96c84ebd71"), "name" : "Davi", "age" : 20, "sex" : "F" }
{ "_id" : ObjectId("55dfe88678038c96c84ebd6d"), "name" : "Lily", "age" : 20, "sex" : "M" }
> db.c1.update({name:"Davi"},{$set:{age:21}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.c1.find()
{ "_id" : ObjectId("55dfe9d378038c96c84ebd6f"), "age" : 21 }
{ "_id" : ObjectId("55dfe9d378038c96c84ebd70"), "name" : "Tom", "age" : 21, "sex" : "F" }
{ "_id" : ObjectId("55dfe9d378038c96c84ebd71"), "name" : "Davi", "age" : 21, "sex" : "F" }
{ "_id" : ObjectId("55dfe88678038c96c84ebd6d"), "name" : "Lily", "age" : 20, "sex" : "M" }

$inc只能操作健的值为数字类型,增加已有键的值

> db.c1.update({name:"Lily"},{$inc:{age:1}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.c1.find()db.c1.find()
{ "_id" : ObjectId("55dfe9d378038c96c84ebd6f"), "age" : 21 }
{ "_id" : ObjectId("55dfe9d378038c96c84ebd70"), "name" : "Tom", "age" : 21, "sex" : "F" }
{ "_id" : ObjectId("55dfe9d378038c96c84ebd71"), "name" : "Davi", "age" : 21, "sex" : "F" }
{ "_id" : ObjectId("55dfeafa78038c96c84ebd72"), "name" : "Lily", "age" : 21, "sex" : "M" }

上述更新默认只更新匹配条件的第一个文档,要更新多个文档,则设置第四个参数为true

> db.c1.find()
{ "_id" : ObjectId("55dfe88678038c96c84ebd6a"), "name" : "John", "age" : 20, "sex" : "M" }
{ "_id" : ObjectId("55dfe88678038c96c84ebd6b"), "name" : "Tom", "age" : 21, "sex" : "F" }
{ "_id" : ObjectId("55dfe88678038c96c84ebd6c"), "name" : "Davi", "age" : 20, "sex" : "F" }
{ "_id" : ObjectId("55dfe88678038c96c84ebd6d"), "name" : "Lily", "age" : 20, "sex" : "M" }
{ "_id" : ObjectId("55dfe88678038c96c84ebd6e"), "name" : "Lucy", "age" : 20, "sex" : "M" }
> db.c1.update({age:20},{$set:{age:21}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.c1.find()
{ "_id" : ObjectId("55dfe88678038c96c84ebd6a"), "name" : "John", "age" : 21, "sex" : "M" }
{ "_id" : ObjectId("55dfe88678038c96c84ebd6b"), "name" : "Tom", "age" : 21, "sex" : "F" }
{ "_id" : ObjectId("55dfe88678038c96c84ebd6c"), "name" : "Davi", "age" : 20, "sex" : "F" }
{ "_id" : ObjectId("55dfe88678038c96c84ebd6d"), "name" : "Lily", "age" : 20, "sex" : "M" }
{ "_id" : ObjectId("55dfe88678038c96c84ebd6e"), "name" : "Lucy", "age" : 20, "sex" : "M" }
> db.c1.update({age:20},{$set:{age:21}},false,true)
WriteResult({ "nMatched" : 3, "nUpserted" : 0, "nModified" : 3 })
> db.c1.find()
{ "_id" : ObjectId("55dfe88678038c96c84ebd6a"), "name" : "John", "age" : 21, "sex" : "M" }
{ "_id" : ObjectId("55dfe88678038c96c84ebd6b"), "name" : "Tom", "age" : 21, "sex" : "F" }
{ "_id" : ObjectId("55dfe88678038c96c84ebd6c"), "name" : "Davi", "age" : 21, "sex" : "F" }
{ "_id" : ObjectId("55dfe88678038c96c84ebd6d"), "name" : "Lily", "age" : 21, "sex" : "M" }
{ "_id" : ObjectId("55dfe88678038c96c84ebd6e"), "name" : "Lucy", "age" : 21, "sex" : "M" }
> db.c1.update({age:21},{$inc:{age:1}},false,true)
WriteResult({ "nMatched" : 5, "nUpserted" : 0, "nModified" : 5 })
> db.c1.find()
{ "_id" : ObjectId("55dfe88678038c96c84ebd6a"), "name" : "John", "age" : 22, "sex" : "M" }
{ "_id" : ObjectId("55dfe88678038c96c84ebd6b"), "name" : "Tom", "age" : 22, "sex" : "F" }
{ "_id" : ObjectId("55dfe88678038c96c84ebd6c"), "name" : "Davi", "age" : 22, "sex" : "F" }
{ "_id" : ObjectId("55dfe88678038c96c84ebd6d"), "name" : "Lily", "age" : 22, "sex" : "M" }
{ "_id" : ObjectId("55dfe88678038c96c84ebd6e"), "name" : "Lucy", "age" : 22, "sex" : "M" }
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上海阿丽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值