mongodb操作笔记

先创建一个库 类似于数据库database
//use DATABASE_NAME 用于创建数据库。
该命令将创建一个新的数据库,如果它不存在,否则将返回现有的数据库。
use mydb 
switched to db mydb
要检查当前选择的数据库使用命令 db
>db
mydb
如果想检查数据库列表,使用命令show dbs
注意,在use mydb后,mydb实际上还没真正建立起来,只是表明目前是在使用mkyongdb了。
查看当然库下面的表
可以  show collections
  
3)保存数据  集合只需要用的时候写上就会自动创建好  或者(db.createCollection('users'))
  定义一个collection,名为“users”,然后插入数据,如下:
> db.users.save( {username:"mkyong"} )
> db.users.find()
{ "_id" : ObjectId("4dbac7bfea37068bd0987573"), "username" : "mkyong" }
>
//一次插入多条数据
//person为你想要创建的集合 类似数据库的表 只需要用的时候写上就会自动创建好
db.person.insert
([{name:'Mary',age:21,status:'A'},
{name:'Lucy',age:89,status:'A'},
{name:Jacky,age:30,status:'A'}])
Sphinx全文检索
作用:代替了like模糊查询,实现了搜索文章功能
Sphinx知识点
1、下载资源包
2、Sphinx目录
3、修改配置文件
4、服务操作
5、php操纵Sphinx
NoSQL:Not Only SQL
产品特点的介绍
MySQL:数据量大、安全性高、效率低、速度慢
NoSQL:数据量小、安全性低、效率高、速度快
数据存储在哪里
MySQL:比较稳定的数据
NoSQL:经常变更的数据
NoSQL产品
1、Memcache      缓存
2、MongoDB       充当小型的数据库
3、Redis         公用变量
MongoDB使用
1、下载资源包
   mongodb-win32-i386_32-2.6.6.zip(32位)
   mongodb-win32-x86_64-2.6.6.zip(64位)
2、在MongoDB资源包新建文件夹
   mongodb
     bin--------------------MongoDB命令
     data-------------------存储一些临时产生的数据
       db-------------------存储数据文件
       log
         MongoDB.log--------MongoDB日志文件
3、配置系统的path环境变量(右键计算机-》属性-》高级系统设置)
   变量名:path
   变量值:asdfajsdfljadsjasdfj;F:\mongodb\bin
4、操作服务
   1)安装服务(打开命令提示符窗口,输入如下命令)
     mongod --dbpath "e:/mongodb/data/db" --logpath "e:/mongodb/data/log/mongodb.log" --install --serviceName "MongoDB"
   2)卸载服务(打开命令提示符窗口,输入如下命令)
     mongod --remove --serviceName "MongoDB"
   3)启动服务(打开命令提示符窗口,输入如下命令)
     net start MongoDB
   4)停止服务(打开命令提示符窗口,输入如下命令)
     net stop MongoDB
5、登陆MongoDB(打开命令提示符窗口,输入如下命令)
   mongo 主机地址:27017/库名
   mongo 主机地址/库名
   mongo 主机地址
使用普通的CMD窗口运行mongo命令即使直接关掉窗口也不会出现该问题,
看来还是使用原生程序更靠谱。
发生了此种情况解决方法也很简单,使用如下参数repair即可:
journaling enable错误
复制代码 代码如下:
mongod --auth -dbpath C:\mongo\MongoDB\mongo\data --repair
mongo的端口号27017
存储数据的方式
MySQL:库->表->记录->字段
MongoDB:库->集合->记录->字段
MongoDB命令注意:
1、MongoDB命令区分大小写
2、每个命令都不用写分号
MongoDB操作命令
1、退出
   exit
2、清屏
   cls
3、查看现存的所有库
   show dbs
4、使用库
   use 库名
   注意:如果库名存在,那么切换库。如果库名不存在,那么创建库。
5、删除库(前提:先进入要删除的库)
   db.dropDatabase()
6、查看当前库中的所有集合
   show collections
7、删除集合
   db.集合名.drop()
8、添加记录
   db.集合名.insert({名:值,名:值,名:值...})
   db.userInfo.insert({"userName":"张三","age":30,"sex":"男","address":"北京"})
   db.userInfo.insert({"userName":"李四","age":31,"sex":"女","address":"天津"})
   db.userInfo.insert({"userName":"王五","age":29,"sex":"女","address":"上海"})
   db.userInfo.insert({"userName":"赵六","age":24,"sex":"男","address":"西安"})
   db.userInfo.insert({"userName":"田七","age":33,"sex":"女","address":"山西"})
9、修改记录
   db.集合名.update({名:值},{名:值,名:值...})
   db.userInfo.update({"userName":"赵六"},{"userName":"赵六","age":24,"sex":"女","address":"西安"})
10、删除记录
   db.集合名.remove({名:值})
   db.userInfo.remove({"userName":"赵六"})
   db.userInfo.remove({"sex":"男"})
   db.userInfo.remove()
11、查询语句
   db.集合名.find({名:值,名:值...})
   db.userInfo.find()
   db.userInfo.find({"sex":"女"})
   db.userInfo.find().count()
   db.userInfo.find().limit(2)
   db.userInfo.find().skip(3)
   db.userInfo.find().skip(2).limit(3)
   db.userInfo.find().limit(3).skip(2)
   db.userInfo.findOne({"userName":"田七"})
   db.userInfo.findOne({"sex":"男"})
PHP操纵MongoDB
1、下载MongoDB的php扩展
    先将MongoDB的php扩展php_mongo.dll复制到wamp\bin\php\php5.4.16\ext中
    再在php配置文件php.ini中开启MongoDB的扩展extension=php_mongo.dll
2、php代码操纵MongoDB
mongoose 创建schema (类似于数据库)表格式 
var

猜你喜欢

转载自www.cnblogs.com/famensaodiseng/p/11791131.html