Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re^2: MongoDB replacing an array

by neilwatson (Priest)
on Aug 26, 2012 at 17:43 UTC ( #989855=note: print w/replies, xml ) Need Help??


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

Timestamp is name of an array in a JSON inside a MongoDB database. I want to replace that entire array with a new one. My backup plan is to empty the array in MongoDB and then insert a new one.

Neil Watson
watson-wilson.ca

Replies are listed 'Best First'.
Re^3: MongoDB replacing an array
by Mr. Muskrat (Canon) on Aug 26, 2012 at 18:07 UTC
    And you're sure that @new is not empty at the point of the insert? Have you tried printing out its contents to be sure?

        Okay, let's look at what you have.

        The MongoDB::Collection docs show that update takes three hash references (\%criteria, \%object and \%options).

        $col->update( { "host" => $host }, { '$set' => { "timestamp" => [ @new ] } }, { 'multiple' => 1, 'safe' => 1 } ) || die "$!";

        Your criteria is simply host = $host. Your object should set timestamp to the contents of @new. Your options include multiple which tells it to update all matching records and safe which causes it to croak on errors (so the || die you have is superfluous).

        Are you getting any errors or do the records just end up empty?

        Based on the docs, it looks right. So what's missing? We don't know. Without seeing more of the code, I don't think anyone will be able to help you.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://989855]
help
Chatterbox?
[1nickt]: marioroy Yes, I am using it with MCE, as is Discipulus I believe. I was trying to work out how to make a cpanfile that would be smart enough to know which deps to require.
[1nickt]: See this code. (I expected to simply eval loading threads as a check, but weirdness happened with Perlbrew so it's a grep of -V ...)
[choroba]: Config might be better than grepping -V
[Corion]: Also see Config::V, which is less of that hackery, or that hackery hidden in a module ;)
[1nickt]: The problem was with Perlbrew
[Corion]: Whoops - Config::Perl::V

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (14)
As of 2017-10-18 15:33 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My fridge is mostly full of:

















    Results (249 votes). Check out past polls.

    Notices?