Exemplo n.º 1
0
void bson_copy( bson *out, const bson *in ) {
    int i;

    if ( !out ) return;
    bson_copy_basic( out, in );
    out->cur = out->data + ( in->cur - in->data );
    out->dataSize = in->dataSize;
    out->finished = in->finished;
    out->stackPos = in->stackPos;
    out->err = in->err;
    for( i=0; i<out->stackPos; i++ )
        out->stack[i] = in->stack[i];
}
Exemplo n.º 2
0
int mongo_find_one( mongo *conn, const char *ns, bson *query,
                    bson *fields, bson *out ) {

    mongo_cursor *cursor = mongo_find( conn, ns, query, fields, 1, 0, 0 );

    if ( cursor && mongo_cursor_next( cursor ) == MONGO_OK ) {
        bson_copy_basic( out, &cursor->current );
        mongo_cursor_destroy( cursor );
        return MONGO_OK;
    } else {
        mongo_cursor_destroy( cursor );
        return MONGO_ERROR;
    }
}