コード例 #1
0
ファイル: update.cpp プロジェクト: allanbank/mongo
    UpdateResult updateObjects( const char* ns,
                                const BSONObj& updateobj,
                                const BSONObj& patternOrig,
                                bool upsert,
                                bool multi,
                                bool logop ,
                                OpDebug& debug,
                                bool fromMigrate,
                                const QueryPlanSelectionPolicy& planPolicy ) {

        validateUpdate( ns , updateobj , patternOrig );

        if ( isNewUpdateFrameworkEnabled() ) {

            UpdateResult ur = _updateObjectsNEW(false, ns, updateobj, patternOrig,
                                                upsert, multi, logop,
                                                debug, NULL, fromMigrate, planPolicy );
            debug.nupdated = ur.num;
            return ur;
        }
        else {

            UpdateResult ur = _updateObjects(false, ns, updateobj, patternOrig,
                                             upsert, multi, logop,
                                             debug, NULL, fromMigrate, planPolicy );
            debug.nupdated = ur.num;
            return ur;
        }
    }
コード例 #2
0
ファイル: dbhelpers.cpp プロジェクト: Ecako/mongo
    void Helpers::putSingletonGod(const char *ns, BSONObj obj, bool logTheOp) {
        OpDebug debug;
        Client::Context context(ns);

        if (isNewUpdateFrameworkEnabled()) {

            _updateObjectsNEW(/*god=*/true,
                              ns,
                              obj,
                              /*pattern=*/BSONObj(),
                              /*upsert=*/true,
                              /*multi=*/false,
                              logTheOp,
                              debug );

        }
        else {

            _updateObjects(/*god=*/true,
                           ns,
                           obj,
                           /*pattern=*/BSONObj(),
                           /*upsert=*/true,
                           /*multi=*/false,
                           logTheOp,
                           debug );

        }

        context.getClient()->curop()->done();
    }