1、MongoDB 创建数据库
use databasenameuse databasename
进入当前的databasename
中,操作全部在当前的 databasename
下,创建的集合也是当前databse
下的集合
1、use DATABASE_NAME //创建数据库的语法格式
2、show dbs // 查看所有的数据库
3、db.youj.insert({"name":"W3Cschool教程"}) // 插入数据
复制代码
2、MongDB 删除数据库
db.dropDatabase()
1、db.dropDatabase() // 删除数据库操作
2、db.collection.drop() // 删除集合
复制代码
3、MongoDB 插入文档
插入文档你也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据
db.dbName.save()
db.dbNane.insert()
(1) 直接插入一条数据 如果当前的数据库中没有这个集合,则在当前数据下自动创建一个集合,再进行插入数据的操作
db.susu.insert({title: 'MongoDB 教程',
description: 'MongoDB 是一个 Nosql 数据库',
by: 'w3cschool',
url: 'http://www.w3cschool.cn',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
复制代码
(2) 插入一个变量
> document=({title: 'MongoDB 教程',
description: 'MongoDB 是一个 Nosql 数据库',
by: 'w3cschool',
url: 'http://www.w3cschool.cn',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
});
db.susu.insert(document)
复制代码
4、MongoDB 更新数据
db.collection.update( criteria, objNew, upsert, multi )
复制代码
update()函数接受以下四个参数:
- criteria : update的查询条件,类似sql update查询内where后面的。
- objNew : update的对象和一些更新的操作符(如inc...)等,也可以理解为sql update查询内set后面的
- upsert : 这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
- multi : mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
db.userdetails.update({"user_id" : "QRSTBWN"},{"user_id" : "QRSTBWN","password" :"NEWPASSWORD"
,"date_of_join" : "17/10/2010" ,"education" :"M.B.A." , "profession" : "MARKETING","interest" :
"MUSIC","community_name" :["MODERN MUSIC", "CLASSICAL MUSIC","WESTERN MUSIC"],"community_moder_id" : ["MR.
BBB","MR. JJJ","MR MMM"],"community_members" : [500,200,1500],"friends_id" : ["MMM123","NNN123","OOO123"],"ban_friends_id" :["BAN123","BAN456","BAN789"]});
复制代码
如果后面的objNew
数据为 {user_id: "susu"}
, 那么整条数据都将只存在user_id
字段, 如果只想更新整条数据中的某一个字段需要用到 $set
db.userdetails.update({"user_id" : "QRSTBWN"},{$set: {"user_id" : "QRSTBWN"}});
复制代码
使用$set 进行操作只会改变整条数据中的user_id
字段,不会将其他数据进行删除
5、MongoDB 删除文档
ongoDB数据更新可以使用update()函数。在执行remove()函数前先执行find()命令来判断执行的条件是否正确,这是一个比较好的习惯
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
复制代码
参数说明
- query :(可选)删除的文档的条件。
- justOne : (可选)如果设为 true 或 1,则只删除一个文档。
- writeConcern :(可选)抛出异常的级别