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"