mongodb的一些基本操作以及c++驱动的简单方法
来源:互联网 发布:sql union 列数不等 编辑:程序博客网 时间:2024/06/01 20:50
一、一些数据操作
1、集合中的字段不需要提前设置,可以随时增减。
2、增加字段update({文档筛选条件},{$set:{新字段,如果字段名已存在则替换}})
3、删除字段upate({文档筛选条件},{$unset:{字段名:""}}
4、修改字段,同2
5、修改子字段,字段名可以用点操作符描述但是必须用引号括起来如
{id:100, item:{cnt:100}}
update({id:100},{$set:{"item.cnt":1}})
二、c++驱动操作方法
0、数据库连接对象 DBClientConnection
连接数据库 DBClientConnection::connect("host:port")
插入DBClientConnection::insert
修改DBClientConnection::update
1、符合对象生成如{id:100, item:{cnt:100}}
BSON("id" << 100 << "item" << BSON("cnt"<<100)) )
2、BSONObj转json格式字符串方法 BSONObj::toString().c_str()
3、二进制数据的写入
BSONObjBuilder::appendBinData( 字段名, 数据长度,数据类型(一般用BinDataGeneral), 数据指针)
目前好像不能用BSON宏来创建
4、数据库查询方法
auto_ptr<DBClientCursor> cursor = c.query( 集合名, [查询条件,类型同为BSONObj] )
while( cursor->more() )
{
获取文档内容:BSONObj obj = cursor->next();
获取内容:obj.getIntField("");
类似的方法还有getStringField,getFloatField,getBoolField等
获取符合对象:obj.getObjectField()返回类型为BSONObj
读取二进制数据:
先判定字段是否存在obj.hasField(""),
获取BSONElement ele = obj.getField(""),
int len;
const char* buff = ele.binData( len );
len中会被写入buff的长度
}
三、一些有用的参考网站
http://api.mongodb.org/cplusplus/current/index.html
http://www.mongoing.com/
http://www.yiibai.com/mongodb/
1、集合中的字段不需要提前设置,可以随时增减。
2、增加字段update({文档筛选条件},{$set:{新字段,如果字段名已存在则替换}})
3、删除字段upate({文档筛选条件},{$unset:{字段名:""}}
4、修改字段,同2
5、修改子字段,字段名可以用点操作符描述但是必须用引号括起来如
{id:100, item:{cnt:100}}
update({id:100},{$set:{"item.cnt":1}})
二、c++驱动操作方法
0、数据库连接对象 DBClientConnection
连接数据库 DBClientConnection::connect("host:port")
插入DBClientConnection::insert
修改DBClientConnection::update
1、符合对象生成如{id:100, item:{cnt:100}}
BSON("id" << 100 << "item" << BSON("cnt"<<100)) )
2、BSONObj转json格式字符串方法 BSONObj::toString().c_str()
3、二进制数据的写入
BSONObjBuilder::appendBinData( 字段名, 数据长度,数据类型(一般用BinDataGeneral), 数据指针)
目前好像不能用BSON宏来创建
4、数据库查询方法
auto_ptr<DBClientCursor> cursor = c.query( 集合名, [查询条件,类型同为BSONObj] )
while( cursor->more() )
{
获取文档内容:BSONObj obj = cursor->next();
获取内容:obj.getIntField("");
类似的方法还有getStringField,getFloatField,getBoolField等
获取符合对象:obj.getObjectField()返回类型为BSONObj
读取二进制数据:
先判定字段是否存在obj.hasField(""),
获取BSONElement ele = obj.getField(""),
int len;
const char* buff = ele.binData( len );
len中会被写入buff的长度
}
三、一些有用的参考网站
http://api.mongodb.org/cplusplus/current/index.html
http://www.mongoing.com/
http://www.yiibai.com/mongodb/
0 0
- mongodb的一些基本操作以及c++驱动的简单方法
- MongoDB的一些基本操作
- mongodb的一些简单操作
- mongodb一些基本的数据操作
- MongoDB的一些基本操作命令(一)
- MongoDB数据库的一些常用基本操作
- ubuntu mongoDB的一些相关基本操作
- mongodb的一些简单的操作
- Objective-C入门02:一些简单的基本操作
- 简单了解JavaScript操作XPath的一些基本方法
- Python对Mongodb的一些简单操作
- rockmongo管理mongodb的一些简单操作
- MongoDB的一些简单CRUD操作
- mongodb数据库的一些简单操作
- Linux驱动的一些基本操作
- MongoDB基本操作之(mongodb的简单封装)
- php操作mongodb的一些方法
- win8的一些简单基本的操作
- ice服务器实现技术
- 安卓服务(Service)的两种开启方式以及服务的生命周期
- 大学第一学期期末作业
- 初入职场
- SVN 权限配置详细说明
- mongodb的一些基本操作以及c++驱动的简单方法
- oracle数据库分页查询(直接套用就行,超级简单!)
- 撒娇可乐公司的发卡量和那速度放缓阿萨德给客户
- 医院WLAN无线认证解决方案
- PPT的渐变填充
- JS执行本地.exe程序
- VS2010 添加静态链接库(包括.h文件和.lib文件)
- AAC ADTS格式分析
- 【C++ Primer】【学习笔记】【第九章】顺序容器之:vector容器的自增长