MongoDb
启动 ./mongod -f …/conf/mongo.conf
连接 //默认27017
–port 指定目录
./mongod --port=27017
建立数据库
use +数据库名称
查看所有数据库
show dbs 查看当前 db
创建一个集合并插入数据
//隐式创建
db.stu.insert({name:‘张三’,age:‘18’}) //stu集合
//显示创建
db.createCollection(“集合名称”)
查看数据库当前集合
show collections // show tables //建议用collections
查看集合下的数据
db.stu.find()
删除一条数据//无条件 删除所有数据
db.stu.remove({name:‘张三’}) //删除关于张三的所有数据
删除集合
db.stu.drop()
删除数据库 //不能删除制定数据库,切换要删除的数据库进行删除
db.dropDatebase()
按条件查询
db.stu.find({查询条件})
查询符合条件的一个文档
db.stu.findOne({条件})
返回特定字段
db.stu.findOne({条件1},{_id:0,name:1})
_id:0去除_id
db.stu.find({查询字段:{$条件:条件}})
统计 排序 分页
统计 db.stu.find({查询条件//可加可不加}).cout()
排序sort db.stu.find.sort({age:1})
//从上往下跳过多少条
db.stu.find({}).skip() //skip跳过
//从上往下显示多少条
db.stu.find.limit()
//分页
db.stu.find.skip(0).limit(2)
db.stu.find.skip(2).limit(2)
db.stu.find.skip(4).limit(2)
查询集合中的文档
db.student.find({hobby:{$all:[‘ppp’]}}) //并且
db.student.find({hobby:{$in:[‘ppp’]}}) //in或者的关系
or对于多个字段 条件查询
var x = db.student.find()
x.hasNext()
x.next()//直到取完
默认20条数据
更新//修改 //没有给添加
db.collection.update({name:’’},{$set{age:19}}) //条件1给要修改的人 条件2位修改事务
$inc //表示加减值
基于下标修改数组
db.student.update({“id”:1},{$set:{“hobby.1”:“test9”}})
WriteResult({ “nMatched” : 1, “nUpserted” : 0, “nModified” : 1 })
db.post.findOne({“id”:1})
{
“_id” : ObjectId(“54a530c3ff0df3732bac1680”),
“id” : 1,
“name” : “joe”,
“age” : 21,
“comments” : [
“test2”,
“test9”,
“test5”
]
}
删除数组数据
db.post.update({“id”:1},{$pull:{“comments”:“test3”}})
WriteResult({ “nMatched” : 1, “nUpserted” : 0, “nModified” : 1 })
db.post.findOne({“id”:1})
{
“_id” : ObjectId(“54a530c3ff0df3732bac1680”),
“id” : 1,
“name” : “joe”,
“age” : 21,
“comments” : [
“test2”,
“test4”,
“test5”
]
}
从开头删除
db.post.update({“id”:1},{$pop:{“comments”:-1}})
WriteResult({ “nMatched” : 1, “nUpserted” : 0, “nModified” : 1 })
db.post.findOne({“id”:1})
{
“_id” : ObjectId(“54a530c3ff0df3732bac1680”),
“id” : 1,
“name” : “joe”,
“age” : 21,
“comments” : [
“test2”,
“test3”,
“test4”,
“test5”
]
}
从结尾删除
db.post.update({“id”:1},{$pop:{“comments”:1}})
WriteResult({ “nMatched” : 1, “nUpserted” : 0, “nModified” : 1 })
db.post.findOne({“id”:1})
{
“_id” : ObjectId(“54a530c3ff0df3732bac1680”),
“id” : 1,
“name” : “joe”,
“age” : 21,
“comments” : [
“test2”,
“test3”,
“test4”,
“test5”
]
}
用each 一次添加多个
db.post.update({“id”:1},{KaTeX parse error: Expected '}', got 'EOF' at end of input: …h:{"comments":{each:[“test4”,“test5”,“test6”]}}})
WriteResult({ “nMatched” : 1, “nUpserted” : 0, “nModified” : 1 })
db.post.findOne({“id”:1})
{
“_id” : ObjectId(“54a530c3ff0df3732bac1680”),
“id” : 1,
“name” : “joe”,
“age” : 21,
“comments” : [
“test1”,
“test2”,
“test3”,
“test4”,
“test5”,
“test6”
]
}
push从末尾添加
db.post.update({“id”:1},{$push:{“comments”: “test3”}})
WriteResult({ “nMatched” : 1, “nUpserted” : 0, “nModified” : 1 })
db.post.findOne({“id”:1})
{
“_id” : ObjectId(“54a530c3ff0df3732bac1680”),
“id” : 1,
“name” : “joe”,
“age” : 21,
“comments” : [
“test1”,
“test2”,
“test3”
]
}
删除一条数据
db.zhoukao.update({name:‘小泽’},{$unset:{‘age’}},false,true)
模糊查
db.users.find({age:{
lte:60}},{_id:0})