char *json_str = bson_as_json(bson, NULL);
if (json_str) {
SV *json_sv = newSVpv(json_str, 0);
bson_free(json_str);
av_clear(bson_ref);
av_push(bson_ref, json_sv);
}
}
}
OUTPUT:
RETVAL
void
cursor_set_batch_size(cursor, batch_size)
mong
use strict;
use warnings;
use Pongo::Client;
use Pongo::BSON;
use JSON;
sub print_distinct_values {
my ($documents, $field) = @_;
my %distinct_values;
foreach my $doc (@$documents) {
while (Pongo::Client::cursor_next($cursor, \@bson_data)) {
my $json_str = $bson_data[0];
my $decoded_doc = decode_json($json_str);
push @documents, $decoded_doc;
@bson_data = ();
}
m
use strict;
use warnings;
use Pongo::Client;
use Pongo::BSON;
use JSON;
sub print_aggregate_counts {
my ($documents, $field) = @_;
my %counts;
foreach my $doc (@$documents) {
if
while (Pongo::Client::cursor_next($cursor, \@bson_data)) {
my $json_str = $bson_data[0];
my $decoded_doc = decode_json($json_str);
push @documents, $decoded_doc;
@bson_data = ();
}
m
ROBJ
const bson_json_opts_t * T_PTROBJ
uint32_t * T_PTROBJ
uint8_t * T_PTROBJ
bson_t ** T_PTROBJ
bson_writer_t * T_PTROBJ
bson_json_opts_t * T_PTROBJ
bson_json_opts_t T_PTROBJ
bson_json_mode_t T_PTROB
* T_PTROBJ
const bson_visitor_t * T_PTROBJ
bson_type_t T_PTROBJ
bson_json_reader_t * T_PTROBJ
bson_json_reader_cb T_PTROBJ
bson_json_destroy_cb T_PTROBJ
bson_oid_t * T_PTROBJ
bson_value_t * T_PTROBJ
b
d_json(bson, length)
SV *bson;
SV *length;
CODE:
size_t len = 0;
const bson_t *bson_ptr = (const bson_t*)SvPV_nolen(bson);
RETVAL = bson_as_canonical_extended_json(