数据库操作
新建数据库
语法:use DATABASE NAME(text)
注:use:用于切换/创建数据库,若不存在则创建,否则切换到指定数据库。
DATABASE_NAME:数据库名称。
执行 use articledb命令,创建数据库articledb。
查看数据库
语法:show dbs,(查看全部数据库)
或者查看当前数据库,需要先切换到指定数据库:db
删除数据库
语法:db.dropDatabase()
注:db:表示当前数据库对象;dropDatabase():用于删除当前数据库的方法。删除当前数据库,执行命令前应使用use命令切换到要删除的数据库,为了防止误删可执行命令db验证当前数据库是否为指定删除的数据库。
集合操作
创建集合
语法:db.createCollection(COLLECTION NAME, [OPTIONS])。(显示创建)
db.COLLECTION NAME.insert(DOCUMENT)。(隐式创建)
注:db:表示当前数据库对象。
createCollection():创建集合方法。DOCUMENT表示文档。
COLLECTION_NAME:表示集合名称。OPTIONS表示集合配置。
insert():向集合中插入文档的方法。
例:显式创建集合myCollection
执行“show collections”命令,查看是否成功创建集合。
删除集合
语法:db.COLLECTION NAME.drop(),
并执行“show collections”命令查看是否成功
文档操作
文档插入
语法:db.COLLECTION NAME.insert(document) (单文档插入)或者db.COLLECTION NAME.save(document)
语法:db.COLLECTION NAME.insertMany([document1,document2,...])(多文档插入)
tips:db:当前数据库对象
COLLECTION_NAME:**当前集合对象
insert()和save():插入单文档方法
insertMany():插入多文档方法。
注:insert()和save()方法的区别在于,若使用insert()方法插入文档时,集合中已存在该文档,则会报错。若使用save()方法插入文档时,集合中已存在该文档,则会覆盖。
练一练
数据库student创建集合stuinfo,
插入数据 ,使用find()查看集合数据
文档更新
语法:db.COLLECTION NAME.update(criteria,objNew,upsert,
tips:db:当前数据库对象。
COLLECTION_NAME:当前集合对象。update():更新文档方法。
criteria:更新的查询条件,类似sql中的where。
objNew:新的对象和操作符,类似sql中的set。
upsert:不存在更新对象时,是否插入,默认为false
multi:默认为false,只更新查找到的第一个文档,反之更新所有。
练一练
使用update( )更新文档:将姓名(name)为curry的文档 更新为了 "王五"
升级语法:db.集合名.update(条件, 新数据){修改器: {键:值}}
文档删除
语法:db.COLLECTION NAME.remove(<query>,{justOne: <boolean>,writeConcern: <document>})(删除单个)
语法:db.COLLECTION NAME.remove({}) (删除全部文档)
tips:db:当前数据库对象。
COLLECTION_NAME:当前集合对象
remove():删除文档方法。
query:删除文档的条件,可选参数。
justOne:的boolean为true或1时,表示只删除查询出的第一个文档。
writeConcern: 表示抛出异常级别。