///////////////////////////////////////////////////////////////////// /// find ///////////////////////////////////////////////////////////////////// // basic find auto cursor = coll.find(doc_view); // find with filter and limit options::find opts(); opts.limit(10); auto cursor = coll.find(doc_view, opts); ///////////////////////////////////////////////////////////////////// /// aggregate ///////////////////////////////////////////////////////////////////// // create the pipeline pipeline pl; pl.match(doc_view); pl.skip(10); // perform the aggregation auto cursor = coll.aggregate(pl); ///////////////////////////////////////////////////////////////////// /// count ///////////////////////////////////////////////////////////////////// // count documents matching doc_view; auto count = coll.count(doc_view); ///////////////////////////////////////////////////////////////////// /// distinct ///////////////////////////////////////////////////////////////////// // get distinct bson values for key "x" auto distinct_x = coll.distinct("x"); ///////////////////////////////////////////////////////////////////// /// delete ///////////////////////////////////////////////////////////////////// // delete one document matching view auto result = coll.delete_one(doc_view); // delete all documents matching view auto result = coll.delete_many(doc_view); ///////////////////////////////////////////////////////////////////// /// insert ///////////////////////////////////////////////////////////////////// // insert a single document auto result = coll.insert_one(doc_view); // insert a bunch of documents std::vector docs{doc1, doc2, doc3}; auto result = coll.insert_many(docs); ///////////////////////////////////////////////////////////////////// /// replaceOne ///////////////////////////////////////////////////////////////////// auto result = coll.replace_one(filter, replacement); ///////////////////////////////////////////////////////////////////// /// update ///////////////////////////////////////////////////////////////////// // update a single document matching filter auto result = coll.update_one(filter, update); auto result = coll.update_many(filter, update); ///////////////////////////////////////////////////////////////////// /// bulkWrite ///////////////////////////////////////////////////////////////////// // build up array of model::writes std::vector writes; writes.push_back(model::insert_one{doc_view}); writes.push_back(model::insert_one{doc_view}); writes.push_back(model::delete_one{doc_view}); //... // perform the bulk write -- ordered default auto result = coll.bulk_write(writes); ///////////////////////////////////////////////////////////////////// /// findOneAndDelete ///////////////////////////////////////////////////////////////////// auto doc = coll.find_one_and_delete(filter); ///////////////////////////////////////////////////////////////////// /// findOneAndReplace ///////////////////////////////////////////////////////////////////// auto doc = coll.find_one_and_replace(filter, replacement); ///////////////////////////////////////////////////////////////////// /// findOneAndUpdate ///////////////////////////////////////////////////////////////////// auto doc = coll.find_one_and_update(filter, update);