一、新增数据库
use DATABASE_NAME
例如:use tom _database
当tom _database不存在时会新建数据库tom_databse,当tom_database存在时切换到tom_database数据库。当前数据库的名称可以通过db命令查看。
说明:执行上一语句时,数据库并没有立即真实创建,只有向该数据库中插入数据后才会真实创建该数据库。也就是说当执行完上一语句后通过show dbs是看不到tom_database数据库的,只有执行完插入数据后,tom_database才会真实创建。
二、删除数据库
db.dropDatabase()
删除数据库必须切换到该数据库下,并且删除数据库,会将该数据库中的数据一并删除。
例如: use tom_database
db.dropDatabase()
以上语句中,第一句为切换到要删除的数据库。第二句为将该数据库删除。其中‘db’代表当前使用中的数据库。
三、插入文档
db.COLLECTION_NAME.insert(document)
例如:use tom_database
db.tom.insert({'name':'tom',age:23,'job':'teacher'})
以上语句第一句为切换到tom_database数据库,第二句在tom_database数据库的tom集合中插入文档。‘tom’:为集合名,执行第二句时,会进行判断当tom集合存在时切换到tom集合,当tom集合不存在时创建tom集合。数据库中的集合可以通过show collections查看。{}中的内容即为一个文档。
四、更新文档
db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> })
说明:query : update的查询条件,类似sql update查询内where后面的。update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的语句。upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。writeConcern :可选,抛出异常的级别。
例如:use tom_database
db.tom.update({''name":'tom'},{$set:{age:30,'job':'worker'}},true,true)
上面第二句{'name:tom'}为查询条件,$set: 为更新内容,第一个true为当查询不到name:tom的文档时,插入该文档,不写则默认为false;第二个true,为更新所有符合条件的文档,默认为false,若为false只更新第一个符合查询条件的文档。
五、删除文档
db.collection.remove( <query>, { justOne: <boolean>, writeConcern: <document> })
说明:query:查询条件,justOne:为true或者1时只删除一个文档,默认为false当为false时删除所有符合条件的文档,writeContent:同update。
例如:use tom_database
db.tom.remove({'name':'tom'},true)
以上语句时删除tom_database数据库中,tom集合下的name为tom查询结果的第一个文档。
六、查询文档
db.COLLECTION_NAME.find()
db.COLLECTION_NAME.find().pretty()
查询文档有以上两条语句,结果一样只是显示效果不同。第二条是以用户友好模式显示。
例如:use tom_database
db.tom.find()
查询tom集合中的所有文档。
条件查询:
db.COLLECTION_NAME.find(<query>)
query代表查询条件。
例如:db.tom.find({'name':tom})
查询tom集合中所有name为tom的文档
例如