mongodb基础
今天偶尔看到了一些 NOsql 数据库家庭中的 mongodb 数据库,大概写下他的基本内容
首先去官网下载 mongodb :https://www.mongodb.org/dr/fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-3.2.0-signed.msi/download
然后解压等等这个不说了,假如路径为: d:\mongodb\
在这个目录下创建一个 data目录用于存放数据
使用cmd 运行,进入 d:\mongodb\bin,使用 命令 mongod --dbpath=..\data
这样就等于说开启数据库了,
这里大概说下 MongoDB 的启动参数
--bind_ip 绑定服务ip
--logpath 指定日志文件路径,必须指定文件
--dbpath 数据库路径
--port 端口
--serviceName 服务名称
--logappend 使用追加的方式写日志
--serviceDisplayNam 指定服务名称,有多个MongoDB时运行
--install 指定作为windows服务安装
MongoDB 的一些基本命令
显示数据库: db; show dbs;显示所有的数据库 use fanfan; 使用fanfan这个数据库
创建数据库: db.createCollection('user',{capped:true,size:5000,max:100,autoIndexId:false})
user 表名称 capped 是否启用集合限制 size :限制使用空间大小 max :限制记录条数 autoIndexId:是否使用_id(系统默认)作为索引
批量插入: for(i=1;i<100;i++){ db.user.insert({name:"fanfan"+i,password:"123"+i,insertid:i})}
获取表中数据条数:db.user.count();
删除一个集合:db.user.drop()
查询所有数据:db.user.find() or db.user.find({})
查询特定数据: db.user.find({name:"fanfan1"})
查询除password字段外的所有数据:db.user.find({},{password:0})
查询表达式:db.user.find({'$or':[{insertid:10},{insertid:20}]})
$ne not equal $lt 小于 $let 小于等于 $gt 大于 $gte 大于等于
查询表达式: db.user.find({insertid:{$ne:1}}) db.user.find({insertid:{'$gte':20,'$lte':30}}) 查询大于等于20小于等于30的数据
分页查询: db.user.find().skip(10) 跳过前10条记录
db.user.find().skip(10).limit(5) 跳过前10条记录,并且每页返回5条记录
对结果排序:db.user.find().sort({insertid:1}) 结果使用 insertid 的升序进行排序 1升序 -1降序
删除数据:db.user.remove({insertid:10}); db.user.remove();
更新数据:db.user.update( criteria,objNew,upsert,multi)
criteria update的查询条件,类似于 SQL语句中 update 内where 后面的部分
objNew update的对象和一些更新的操作符($set,$inc)等,相当于 update内的set后面部分
upsertr 如果不存在,该记录,是否插入 objNew,true为插入,false不插入
multi 默认false,只更新查找到的第一条记录,如果为true,会按照条件查询的多条记录全部更新
db.user.update({insertid:10},{$set:{name:"fanfanupdate",password:"1232131"}})
$inc会更数据添加一条新的列
db.user.update({insertid:10},{$inc:{age:21}})
创建索引: db.user.createIndex({_id:1})
创建唯一索引:db.user.createIndex({_id:1},{unique:true})
......先写到这里,等有时间的话在更新吧》》》