http://www.perlmonks.org?node_id=989882


in reply to Re^5: MongoDB replacing an array
in thread MongoDB replacing an array

There is not much more to show. Most is boring data manipulation that leads to the final array. The array holds only numbers. Nothing embedded.

my $conn = MongoDB::Connection->new; my $db = $conn->mydb || die "$!"; my ($col, $cols, @cols, $q, $doc, @b, @c, @new, $x, $date, $l, $host); + @cols = $db->collection_names; foreach $cols (@cols) {

Above a loop through some collections and for each make the new array. Then I try to replace the array.

if ( @new > 1 ){ foreach my $xxx (@new){ print '@new = '.strftime('%Y-%m-%d', l +ocaltime($xxx))."\n"; } $col->update( { "host" => $host }, { '$set' => { "timestamp" => @new } }, { 'multiple' => 1, 'safe' => 1 } ) || die "$!";

The foreach loop above is just to show there is data in @new. That works :). The update fails. The documentation for MongoDB is a bit sparse. I assume my syntax is wrong. Alas, I cannot figure how.

Neil Watson
watson-wilson.ca