一,mongodb创建数据库
use database_name
如果数据库不存在,则创建数据库,否则切换到指定数据库;
show dbs
显示所有的数据库
Mongodb中默认的数据库为test ,如果没有创建新的数据库,集合将存放在test数据库中
二,Mongodb删除数据库
db.dropDatabase()
删除当前数据库,默认为test, 你可以使用db命令查看当前数据库名称
删除完之后,可以使用show dbs 显示数据库,查看
db.collection.drop()
删除集合,例如删除mgt数据库中的集合name:
use mgt
db.collection_name.drop()
show tables
三,Mongodb插入文档
db.collection_name.insert(document);
Mongodb使用insert()或save()方法向集合中插入文档
db.collection_name.insert({json数据})命令进行数据库的插入
collection_name是集合名称,如果该集合不存在数据库中,mongodb会自动创建该集合并插入文档;
db.collection_name.find()
查看已插入的文档
插入文档也可以使用
db.collection_name.save(document)
如果不指定_id 字段save()方法类似于insert()方法,如果指定_id 字段,则会更新该_id的数据
四,MongoDB更新文档
Mongodb使用update()和save()方法来更新集合中的文档
db.collection.update(
<query>,
<update>,
{
upsert:<boolean>,
multi:<boolean>,
writeConcern : <document>
}
)
query:update的查询条件
update :update的对象和一些更新的操作等
upsert:可选,这个参数的意思是,如果不存在update的记录,是否插入objnew,true为插入,默认是false,不插入。
multi : 可选,mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新
writeConcern:可选,抛出异常的级别。
例子
db.collection_name.insert({
title : "MGT360124",
description: "Mongodb是一个nosql数据库",
url : "http://www.mgt360124.com",
tags : ["name","database","nosql"],
likes:100
})
db.collection_name.update(
{"title":"MGT360124"},{$set:{"title":"Mongodb"}}
)
db.collection_name.find().pretty();
save()方法通过传入的文档来替换已有的文档:
db.collection_name.save(
<document>,
{
writeConcern:<document>
}
)
document:文档数据
writeConcern:可选,抛出异常的级别
五,MongoDB删除文档
db.collection_name.remove(
<query>,
{
justOne :<boolean>,
witeConcern : <document>
}
)
query:可选,删除的文档的条件
justOne: 可选,如果设为true或1,则只删除一个文档
writeConcern :抛出异常的级别
使用remove()函数用来移除集合中的数据
db.collection_name.remove()
//移除所有的文档数据信息
db.collection_name.find();
//查询集合collection_name中的所有信息;
六,MongoDB查询文档
MongoDB查询文档使用find()方法
find()方法以非结构化的方式来显示所有文档
db.collection_name.find(query,projection);
//query: 可选,使用查询操作符自定查询条件
//projection:可选,使用投影操作符指定返回的键
//当然也可以使用
db.collection_name.find().pretty()
//用易于读取的方式显示文档
db.collection_name.find();
操作 格式 示例
等于 {<key>:<value>} db.collection_name.find({"title":"mgt360124"}).pretty()
小于 {<key>:{$lt:<value>}} db.collection_name.find({"likes":{$lt:50}}).pretty()
大于 {<key>:{$gt:<value>}} db.collection_name.find({"likes":{$gt:50}}).pretty()
小于或等于 {<key>:{$lte:<value>}} db.collection_name.find({"likes":{$lte:50}}).pretty()
大于或等于 {<key>:{$gte:<value>}} db.collection_name.find({"likes":{$gte:50}}).pretty()
不等于 {<key>:{$ne:<value>}} db.collection_name.find({"likes":{$ne:50}}).pretty()
mongodb的find方法可以传入多个键(key),每个键用逗号隔开
示例
db.collection_name.find(key1:value, key2:value).pretty();
通过title和likes来实现查询:查询title键值为mongodb,和likes键值小于50的文档
db.collection_name.find({
"title":"mongodb",
"likes":{$lt:50}
})
mongodb or条件
db.collection.find({
$or: [
{key1:value},{key2:value2}
]
}).pretty()
示例:
查询键title为mgt360124或者age键值为18的文档;
db.collection.find({
$or :[
{"title":"mgt360124"},{"age":18}
]
})