mongo基础笔记1

在mongo中并没有表列神马的。有Collection和document,这里的Collection就相当于表,document就相当于一行。

下载的压缩包,解压到d:/mongo 再mongo下面建立两个文件夹stroe,log(放日志的)

启动服务:命令行输入:
1)在log里打印
D:\mongo\bin\mongod.exe --dbpath=d:\mongo\store --logpath=d:\mongo\log\mongodb.log
2)在控制台cmd打印
D:\mongo\bin\mongod.exe --dbpath=d:\mongo\store


连接数据库,另起个cmd窗口,输入命令:
d:/mongo/bin/mongo


以下以"hello"表为例
插入(如果没有表就直接创建):
像hello表中插入一列Hello 初始值为World
db.hello.insert({"Hello":"World"})

查询:(查询支持正则表达式)
db.hello.find()//查询全部
db.hello.findOne()//查询第一条


清空表:
db.hello.remove();//删除所有
db.hello.remove({"Hello":"World"})//删除Hello列为World值的这一行

更新数据:
db.hello.update({"Hello":"World"},{$set:{"Hello":"ModifyWorld"}})

增加一列:
像Hello值为ModifyWorld这一行新增加一列num 初始值为0(注意0没有双引号)
db.hello.update({"Hello":"ModifyWorld"},{$set:{"num":0}})
db.hello.update({},{$set:{"num":0}})//所有行都增加一列
db.hello.update({},{$set:{"Hello":"this is final"}},false,true)//第三个参数是,如果不存在,是否新增数据,当然我们是false。第四个是否更新多条记录,true;false的话是默认,代表只更新第一条


删除一行中的一列
db.hello.update({"Hello":"ModifyWorld"},{$unset:{"num":0}})

给某一行加入子表:
db.hello.update({"Hello":"ModifyWorld"},{$push:{"comments":

{"name":"Bear","email":"[email protected]"}}})
意思就是一行{"Hello":"ModifyWorld"}中加入多个comments
查询子表:
db.hello.find({"comments":null})//查询子表为null的数据

操作符:
1)
(小于:lt,小于等于:lte,大于:gt,大于等于:gte,不等于:ne,包含:in,等于就直接:)
db.hello.find({"num":{"$lt":100,"$gt":0}}) //查询num小于100的 大于0的
db.hello.find({"num":{"$lt":100,"$in":[0,10,100]}})//查询小于100并且是0或者10或者100的
2)
取模

db.hello.find({"num":{$mod:[5,0]}})//查询num对5取模余数为0的
db.hello.find({"num":{$not:{$mod:[5,0]}}})//查询num对5取模余数不为0的


按条数查询子表:
db.hello.find({},"comments":{"$slice":10})//查询子表的前十条
db.hello.find({},"comments":{"$slice":-10})//查询子表后十条
db.hello.find({},"comments":{"$slice":[20,10]})//查询从第21条数据向后查10条


db.hello.find().limit(1)//只取一条 limit(n)是只拿n条
db.hello.find().skip(1)//跳过1条 skip(n)跳过n条


db.hello.find().sort({"num":1})//num列升序排序
db.hello.find().sort({"num":-1})//num列降序排序

猜你喜欢

转载自330546494.iteye.com/blog/1611720