mongodb中一条document格式为:
先想给数组jobs添加一个元素,如{"job_name":"name1", "finish_time":1435043559}
C++代码如下:
shared_ptr<MongoSession> session = MongoSessionFactory::GetSession();
BSONObjBuilder condition;
condition.append("finish_date", finish_date);
BSONObjBuilder rec;
rec.append("job_name", job_name);
rec.append("finish_time", finish_time);
BSONObjBuilder recs;
recs.append("jobs", rec.obj());
BSONObjBuilder set;
set.append("$push", recs.obj());
session->get().update(config.wind_db + ".scheduler_job_finish_time", mongo::Query(condition.obj()), set.obj());
其中数组修改器$push作用是给数组添加元素,且如果数组不存在时会自动创建.