mongodb也是一种数据库,数据库都有增删改查
1. 增
use dbname
db.collectionname.insert({})
# document是json格式的数据
db.collectionname.insert(document)
# 或者
db.collectionname.save({data})
# document是json格式的数据
db.collectionname.save(document)
insert()方法和insert()方法的区别是
若新增的数据中存在主键 ,insert() 会提示错误,而save() 则更改原来的内容为新内容。
如:
已存在数据: {_id : 1, " name " : " n1 " },再次进行插入操作时,
insert({_id : 1, " name " : " n2 " }) 会报主键重复的错误提示
save({ _id : 1, " name " : " n2 " }) 会把 n1 修改为 n2 。
相同点:
若新增的数据中没有主键时,会增加一条记录。
已存在数据: { _id : 1, " name " : " n1 " },再次进行插入操作时,
insert({ " name " : " n2 " }) 插入的数据因为没有主键,所以会增加一条数据
save({ " name " : " n2 " }) 增加一条数据。
2 .删
删除数据库database
db.dropDatabase() { "dropped" : "databasename", "ok" : 1 }
删除collection
db.collectionname.drop() # 直接删除了collectionname
删除记录
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
举个栗子:
>db.col.remove({'title':'MongoDB 教程'})
3.改
db.collectionname.update({query})
db.collectionname.save({query})
如
>db.collection.insert({
title: 'Mongodb 教程',
description: 'MongoDB 是一个 Nosql 数据库',
by: 'your name',
url: 'http://www.mongodb.org',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
此时数据库中有一条数据了 则修改语句如下
db.collection.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})
>db.col.find().pretty()
{
"_id" : ObjectId("56064f89ade2f21f36b03136"),
"title" : "MongoDB",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "Mongodb中文网",
"url" : "http://www.mongodb.org.cn",
"tags" : [
"mongodb",
"database",
"NoSQL"
],
"likes" : 100
}
update()方法默认修改第一条符合条件的如果需要修改所有符合条件的值则:
>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})
或者用save()方法直接修改如下:
>db.col.save({
"_id" : ObjectId("56064f89ade2f21f36b03136"),
"title" : "MongoDB",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "MongoDB中文网",
"url" : "http://www.mongodb.org.cn",
"tags" : [
"mongodb",
"NoSQL"
],
"likes" : 110
}
)
增删改都是不常用操作或者说操作方法比较固定,而查找在数据库的操作中要频繁的多具体操作且听下回分解。
参考: