MongoDB中,当不指定数据库时,默认数据库test。
显示所有数据库
show dbs
显示当前数据库
db
选择数据库(如果存在就选择,不存在创建),但是空数据库不显示出来,只有在数据库中插入内容之后,才会显示出来
use dbname
删除数据库
db.dropDatabase()
删除集合
db.collection.drop()
插入
col是集合名字。如果不存在就创建。
db.COLLECTION_NAME.insert(document)
db.col.insert({"name":"xuke","age:18,"sex":"boy"})
可以查看插入的数据
db.col.find()
或者
db.col.find().pretty()
更新
更新有两种方法。
- update()
- save()
- update()用于更新已存在的文档。
db.集合名.update({条件},{值$set},{是否修改多条})
db.col.update({"name":"xuke"},{$set:{"name":""shuaige}},{multi:true})
multi:true将所有name为xuke的 ,全部变为shuaige
2.save()通过传入的文档来替换已有文档
如果指定id,则用新文档替换旧的,否则插入
db.col.save({"_id":ObjevtID("xxx"),"name":"xuke"})
删除
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
- query:(可选)删除文档的条件
- justOne:(可选)如果设置为true或1,则只删除一个文档
- writeConcern:(可选)抛出异常的级别
db.col.remove({"name":"xuke"})
当想全部删除时,可以用以下方式
db.col.remove({})
查询
以非结构化的方式来显示所有文档
db.col.find()
如果要以易读的方式来读取数据,可以使用pretty()方法
db.col.find().pretty()
除了find()方法之外,还有一个findOne()方法,它只返回一个文档。
条件语句查询:
- 等于
{<key>:<value>}
db.col.find({"name":"xuke"}).pretty()
- 小于
{<key>:{$lt:<value>}}
db.col.find({"age":{$lt:20}}).pretty()
- 小于或等于
{<key>:{$lte:<value>}}
db.col.find({"age":{$lte:20}}).pretty()
- 大于
{<key>:{$gt:<value>}}
db.col.find({"age":{$gt:20}}).pretty()
- 大于等于
{<key>:{$gte:<value>}}
db.col.find({"age":{$gte:20}}).pretty()
- 不等于
{<key>:{$ne:<value>}}
db.col.find({"age":{$ne:20}}).pretty()
- AND
db.col.find({"name":"xuke","age":18})
- OR
db.col.find(
{
$or: [
{key1: value1}, {key2:value2}
]
}
).pretty()
db.col.find({$or:[{"name":"xuke"},{"age":18}]})