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
In reply to Re^6: MongoDB replacing an array
by neilwatson
in thread MongoDB replacing an array
by neilwatson
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |