bool DBCenter::setUserTableTest()
{
//修改user表
UseTable(m_userTable);
for (int i = 999; i < 1000; ++i)
{
char condJson[JSON_LENGTH_MIN] = {0};
sprintf(condJson, "{%s:%d}", m_userStruct._id.c_str(), i);
char secJson[JSON_LENGTH_MIN] = {0};
sprintf(secJson, "{%s:1}", m_userStruct.aids[0].c_str());
char *Res = NULL;
bool isExit;
char *errMessage = NULL;
m_mongo->FindOneData(m_ns.c_str(), condJson, secJson, &Res, &isExit, m_errMsg);
if (!isExit)
{
continue;
}
if(!strstr(Res, m_userStruct.aids[0].c_str()))//没有角色
continue;
//获取角色的个数
using namespace boost::property_tree;
ptree proot,//树根
pchild,//子树
pnode;//节点
stringstream stream(Res);
//将流放入树根
read_json<ptree>(stream,proot);
pchild=proot.get_child(m_userStruct.aids[0].c_str());
for (int i = 0; i < pchild.size(); i++)
{
char setJson[JSON_LENGTH_MIN] = {0};
sprintf(setJson, "{$set:{'%s.%d.%s':0}}", m_userStruct.aids[0].c_str(), i, m_userStruct.aids[4].c_str());
if (!m_mongo->UpdataData(m_ns.c_str(), condJson, setJson))
{
return false;
}
}
}
return true;
}