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:mongodbin,使用 命令  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})

......先写到这里,等有时间的话在更新吧》》》

原文地址:https://www.cnblogs.com/fengyeyang/p/5041337.html