yii的mongodb拓展YiiMongoDbSuite的配置与使用
来源:互联网 发布:孕妇能用的洗面奶知乎 编辑:程序博客网 时间:2024/06/05 20:31
目前项目使用的是yii框架,使用mongo拓展效率会更加高些,在网上搜了下,主流的是YiiMongoDbSuite,但是对应的中文文档不全,在这边写个小的测试程序
mongodb的安装和配置请参考上篇博文
一, 使用客户端工具查看mongodb
为了方便查看mongodb数据,win下可使用MongoVUE远程查看
按照说明安装即可,安装后连接需要查看的mongodb
这样就可以简单愉快的查看mongodb的数据情况
二,下载YiiMongoDbSuite
YiiMongoDbSuite可以在yii官网进行下载:
http://www.yiiframework.com/extension/yiimongodbsuite/
下载后将拓展相关的放到yii项目拓展目录下,并在配置文件中进行加载即可使用
三,YiiMongoDbSuite的简单使用
YiiMongoDbSuite的配置
123456789101112131415
'import' => array( 'ext.YiiMongoDbSuite.*', ), 'components' => array( ... 'mongodb' => array( 'class' => 'EMongoDB', 'connectionString' => 'mongodb://localhost', 'dbName' => 'myDatabaseName', 'fsyncFlag' => true, 'safeFlag' => true, 'useCursor' => false ), ),
构建简单测试用例
123456789101112131415161718192021222324252627282930313233343536373839404142
<?phpclass User extends EMongoDocument{ public $username; public $email; public $personal_number; public $first_name; public $last_name; public $client; public $company; public function getCollectionName() { return 'users'; } public function primaryKey() { return 'personal_number'; } public function rules() { return array( array('personal_number, first_name, last_name', 'required'), ); } public function attributeLabels() { return array( 'username' => 'UserName', 'email' => 'EMail', 'personal_number' => 'PN', 'first_name' => 'First Name', 'last_name' => 'Last Name', 'client' => 'Client', 'company' => 'Company', ); } public static function model($className = __CLASS__) { return parent::model($className); }}
三,使用YiiMongoDbSuite进行简单的curd
1), 新增
1234
$user = new User();$user->username = 'dandand';$user->email = '123@example.com';$user->save(); // This will store document with user data into MongoDB collection
2), 查询
a),查询单条数据(第一条)
1
$user = User::model()->find();
a), 单条数据条件查询
1
$model = User::model()->findByAttributes(array('username'=>'dandand'));
c), 单条数据按主键查询
1
$model = User::model()->findByPk('_id');
b), 多条数据条件查询
12345
$criteria = new EMongoCriteria;$criteria->username('==', 'dandand') // modulo => personal_number % 10 == 0 ->sort('firstName',EMongoCriteria::SORT_ASC) ->limit(10);$users = User::model()->findAll($criteria);
3), 修改
12345
$model = User::model()->find(); //找到要修改的记录$model->email = '123@example.com'; //要修改的记录$model->last_name = 'value';$model->validate(array('email', 'last_name')); //数据过滤$users = $model->update(array('email', 'last_name'), true /* <- second parameter indicates to use partial update mechanism */); //数据修改
4), 删除
0 0
- yii的mongodb拓展YiiMongoDbSuite的配置与使用
- yii 用 mongodb 插件 YiiMongoDbSuite
- yii框架:MongoDB 插件 YiiMongoDbSuite 使用方法
- MongoDB的配置与简单使用
- 单链表的理解与使用及拓展
- RecyclerView的基础使用与拓展
- MongoDB:MongoDB的安装与配置
- MongoDB的安装与MongoDB服务配置
- YiiMongoDbSuite
- mongoDB的安装与配置和客户端的使用
- mongodb的安装与配置
- MongoDB的安装与配置
- MongoDB的安装与配置
- MongoDB的安装与配置
- mongodb的安装与配置
- MongoDB的安装与配置
- MongoDB的安装与配置
- MongoDB的安装与配置
- <Matlab图像处理学习>之彩色图像的读取及RGB的数值读取
- windows 正在查找bash.exe。如果想亲自查找文件,请点击“浏览”。
- Java中的Scanner类(篇1)
- samtools常用命令详解
- VS2010快捷键大全及设置
- yii的mongodb拓展YiiMongoDbSuite的配置与使用
- java 读取,写入 dbf
- 权限按钮 js写法思路
- PandoraBox/LEDE SDK交叉编译OpenWrt ipk安装包的方法
- 指针和引用
- 相关性分析指标-Pearson,Spearman,Kendall,Multual information
- C++引用详解
- 关于无法启动程序“x.lib"问题解决办法
- 《未来简史》读书笔记