设为首页 加入收藏

TOP

MongoDB数据库(二):增删查改(一)
2019-09-17 18:52:31 】 浏览:198
Tags:MongoDB 数据库 增删 查改

MongoDB数据库的增删查改

1.插入数据

语法:

db.集合名称.insert(document)
db.table_name.insert({name:'gj',gender:1})
db.table_name.insert({_id:"20170101",name:'gj',gender:1})

插??档时, 如果不指定_id参数,MongoDB会为?档分配?个唯?的ObjectId

使用insert时如果指定的_id在数据表中已经存在,则插入数据失败

例子:

> db.test_table01.insert({_id:1000001,name:"xiaobing",age:30})          # 向数据库中插入一条_id为1000001的数据
WriteResult({ "nInserted" : 1 })

> db.test_table01.insert({_id:1000001,name:"xiaoming",age:40})          # 再次向数据库中插入一条_id为1000001的数据,会提示失败
WriteResult({
        "nInserted" : 0,
        "writeError" : {
                "code" : 11000,
                "errmsg" : "E11000 duplicate key error collection: study_test.test_table01 index: _id_ dup key: { : 1000001.0 }"
        }
})

2.保存数据

语法:

db.集合名称.save(document)

如果?档的_id已经存在则修改文档,如果?档的_id不存在则添加,类似于Django中的update_or_create

例子:

> db.test_table01.find()
{ "_id" : ObjectId("5c939a4f4c9ce97c5b78a0da"), "name" : "xiaowang", "age" : 10 }
{ "_id" : ObjectId("5c939adc4c9ce97c5b78a0db"), "name" : "xiaohong", "age" : 20 }
{ "_id" : 1000001, "name" : "xiaobing", "age" : 30 }

> db.test_table01.save({_id:1000001,name:"xiaoming",age:40})            # 向数据库中保存_id为1000001的数据,会更新已经的数据
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

> db.test_table01.find()
{ "_id" : ObjectId("5c939a4f4c9ce97c5b78a0da"), "name" : "xiaowang", "age" : 10 }
{ "_id" : ObjectId("5c939adc4c9ce97c5b78a0db"), "name" : "xiaohong", "age" : 20 }
{ "_id" : 1000001, "name" : "xiaoming", "age" : 40 }

3.简单查询

语法:

db.集合名称.find({条件?档})                # 查询所有符合条件的文档
db.集合名称.findOne({条件?档})             # 根据条件查询文档,只返回第?个
db.集合名称.find({条件?档}).pretty()       # 根据条件查询文档,并将输出结果格式化

4.更新

语法:

db.集合名称.update(<query> ,<update>,{multi: <boolean>})
参数说明:
    query:查询条件
    update:更新操作符
    multi:可选,默认是false,表示只更新找到的第?条记录,值为true表示把满?query条件的?档全部更新

"multi update only works with $ operators":只有替换后的字段前面加上"$"时,才可以一次性更新多条数据

例子:

> db.userinfo.find().pretty()                                   # userinfo数据库里有5条数据
{
        "_id" : ObjectId("5c94f37d25000fc9936a9759"),
        "country" : "china",
        "province" : "sh",
        "userid" : "a"
}
{
        "_id" : ObjectId("5c94f38425000fc9936a975a"),
        "country" : "china",
        "province" : "sh",
        "userid" : "b"
}
{
        "_id" : ObjectId("5c94f38625000fc9936a975b"),
        "country" : "china",
        "province" : "sh",
        "userid" : "c"
}
{
        "_id" : ObjectId("5c94f39325000fc9936a975c"),
        "country" : "china",
        "province" : "bj",
        "userid" : "da"
}
{
        "_id" : ObjectId("5c94f39925000fc9936a975d"),
        "country" : "china",
        "province" : "bj"
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 1/10/10
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇oracle 子查询 where having from.. 下一篇MIT-6.824 Lab 3: Fault-tolerant..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目