1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
use strict;
use warnings;
use lib "t/lib";
use Test::More;
use Test::Exception;
use Catmandu::Store::MongoDB;
use MongoDBTest '$conn';
ok $conn;
my $db = $conn->get_database('test_database');
my $store = Catmandu::Store::MongoDB->new(database_name => 'test_database');
ok $store;
my $obj1 = $store->bag->add({_id => '123', name => 'Patrick'});
ok $obj1;
is $obj1->{_id}, 123;
my $obj2 = $store->bag->get('123');
ok $obj2;
is_deeply $obj2 , {_id => '123', name => 'Patrick'};
$store->bag->add({_id => '456', name => 'Nicolas'});
is $store->bag->count, 2;
is $store->bag->search(query => '{"name":"Nicolas"}')->total, 1;
$store->bag->delete('123');
is $store->bag->count, 1;
$store->bag->delete_all;
is $store->bag->count, 0;
my $obj3 = $store->bag->add({_id => '789', char => 'ABC', num => '123'});
is_deeply $store->bag->searcher(
query => {char => "ABC"},
fields => {num => 1, _id => 0}
)->first, {num => '123'};
is_deeply $store->bag->search(query => {char => "ABC"}, fields => {_id => 1})
->first, {_id => '789'};
END {
if ($db) {
$db->drop;
}
}
done_testing;
|