PMXBOT Log file Viewer

Help | Karma | Search:

#mongodb logs for Tuesday the 9th of October, 2012

(Back to #mongodb overview) (Back to channel listing) (Animate logs)
[00:51:28] <drago757> can someone help me I am trying to figure out how do I create a db and add a user to the db from a shell script
[00:51:48] <drago757> I can seem to use the command "use db"
[04:08:56] <foliba> hey any MongoLovers from Beijing here? Going to start the Beijing MongoDB Office Hours in november.
[04:24:36] <ralphholzmann> is there a way to deal with an upsert that has multiple $elemMatches ?
[04:39:08] <ryn1> anyone here can help me?
[04:39:15] <ryn1> pls?
[04:39:41] <ryn1> mongo noob here pls help!
[04:40:04] <ryn1> anyone pls?
[04:40:56] <Oddman> how about you ask the question
[04:41:04] <Oddman> then if anyone's available, they can see exactly what it is you need help with
[04:41:07] <Oddman> =\
[04:42:01] <ryn1> db.table.update({},{$set : {field':'appendString'+'field'} }, false, true); <-- how can I make this work? im just trying to update a field, all i want is to attach a string value to the current value of the said field
[04:42:25] <Oddman> what's the error?
[04:42:31] <ryn1> SyntaxError: missing : after property id (shell):1
[04:42:34] <Oddman> there is a syntax error after field
[04:43:21] <ryn1> i just want to append some string to the current field value,. any can help me with the right syntax pls?
[04:45:14] <ryn1> anyone?
[04:50:55] <Oddman> ryn1, is the code you've provided above exactly what you're using?
[04:54:57] <ryn1> yes, I just change the table name
[04:55:07] <ryn1> and field name
[04:56:04] <ryn1> db.myTable.update({}, {$set: { myField : 'stringToAppend'+myField} })
[04:56:29] <ryn1> ReferenceError: rel is not defined (shell):1
[04:59:21] <LouisT> with $col->count(array("Email"=>$email), would it be possible to add a OR statement?
[05:16:10] <ryn1> i also tried this one,. getting -->" SyntaxError: invalid assignment left-hand side (shell):1 "
[05:16:10] <ryn1> db.myTable.find().forEach(function(e) {
[05:16:10] <ryn1> var newFieldValue = 'http://'+e.my-Field;
[05:16:10] <ryn1> e.my-Field = newFieldValue; db.myTable.save(e);
[05:16:10] <ryn1> });
[05:16:42] <ryn1> anyone here?
[05:21:04] <crudson> e.my-Field should be e['my-Field']. The '-' can't be part of an unquoted key as it means subtraction.
[05:23:26] <ryn1> Thanks a lot will try
[05:25:30] <ryn1> IT WORKS! Thanks a lot bro! i owe u alot,. thanks you soo muchhh!!! :)
[05:26:51] <Oddman> ryn1, next time provide your code, provide your question, and provide the issue you're getting
[05:26:54] <crudson> cool. FYI when pasting multiple lines of code it's best to use pastie.org or gist.github.com or similar.
[05:27:01] <Oddman> ^ and this
[05:27:04] <crudson> :)
[06:29:55] <ryn1> Noted.. THanks a lot guys! :)
[06:39:34] <coalado> Good morning
[06:40:29] <coalado> I have a list of long values. I'd like to group on value/500 to count all docs that have a value 0-500 500-1000 1000-1500 and so on.
[06:41:35] <coalado> I tried {$group:{_id:{$divide:[$value,500]}} but the result does not look very promising
[07:34:39] <[AD]Turbo> hi there
[08:06:26] <k610> what browser does one need to exec the online shell tutorial ; firefox - chrome failling here
[08:07:41] <k610> nvm you have to click on the line with the ">"
[08:12:15] <NodeX> lol
[08:44:54] <kristuttle> Okay I have been trying to solve this simple problem for about 10 hours. I'm using this bit of code to simply save data but it creates duplicates instead of updates.
[08:45:19] <kali> kristuttle: you need to show us the code
[08:45:39] <kristuttle> <?php
[08:45:40] <kristuttle> $name = $_POST['name'];
[08:45:41] <kristuttle> $status = $_POST['status'];
[08:45:42] <kali> kristuttle: use pastie.org please!
[08:45:43] <kristuttle> $blurb = $_POST['blurb'];
[08:45:44] <kristuttle> if ($_POST['submit']) {
[08:45:46] <kristuttle> $deal = array('name'=>$name, 'status'=>$status, 'blurb'=>$blurb);
[08:45:47] <kristuttle> $collection->save($deal);
[08:45:49] <kristuttle> print_r($deal);
[08:45:51] <kristuttle> }
[08:45:52] <kristuttle> $cursor = $collection->find();
[08:45:53] <kristuttle> foreach ($cursor as $events) {
[08:45:54] <kali> too late.
[08:45:55] <kristuttle> echo "<p>" . $events["name"] . "\n" . $events["status"] . "\n" . $events["blurb"] . "</p>";
[08:45:56] <kristuttle> }
[08:45:56] <kristuttle> ?>
[08:46:18] <kristuttle> <script src='http://pastie.org/5023146.js'></script>
[08:46:58] <kristuttle> Try again: <script src='http://pastie.org/5023149.js'></script>
[08:47:07] <NodeX> try again with a proper url
[08:47:37] <kristuttle> http://pastie.org/5023149
[08:48:28] <kristuttle> If there is already a $deal with the $name I want to update, otherwise insert.
[08:48:54] <kristuttle> I could add a conditional but from the docs Mongo should be able to do it without.
[08:48:59] <NodeX> dupes are on _id , if you want an upsert you have to do it another way
[08:49:40] <NodeX> you haev to tell it with the update which field(s) to upsert on
[08:49:59] <NodeX> http://www.php.net/manual/en/mongocollection.update.php <---- example #2
[08:50:58] <tpae> does performance matter for mongodb between ubuntu 10.04 vs 11.04?
[08:51:24] <tpae> what is the optimal setup on ubuntu ?
[09:18:30] <fredix> hi
[09:18:47] <fredix> is the dotted notation works with hasfield ? data.hasField("data.command")
[09:40:34] <[Sno]> hi there
[09:41:11] <[Sno]> I'm trying to build a shared mongodb c++ client using 'scons mongoclient --sharedclient'
[09:41:30] <[Sno]> but I only get a ranlib build/linux2/normal/client_build/libmongoclient.a
[09:41:45] <[Sno]> how do I build (and install) a shared client?
[09:49:45] <mikejw> using the mongodb php extension is there a way I can get hold of the pure json/bson from a collection?
[09:55:45] <NodeX> mikejw : no
[09:55:53] <mikejw> ok :)
[09:56:05] <NodeX> although you can just json_encode() the result :)
[09:56:56] <mikejw> would json_encode(iterator_to_array($cursor)) work?
[09:57:46] <NodeX> no because it's a cursor and only contains a little of the result. Are you trying to get all the results into one set?
[10:00:23] <mikejw> NodeX: yah
[10:01:35] <NodeX> you can try itterator method but I dont think it will work, I haev a findAll() method in my wrapper that looks the cursor and puts the results into a cache for times when I need all the results
[11:55:00] <fredix> hi
[11:55:27] <fredix> I try to extract file from gridfs chunck by chunck, but I get this error : ERROR: MessagingPort::call() wrong id got:40 expect:41
[11:56:55] <fredix> my code fail on this loop : https://github.com/nodecast/ncs/blob/master/zeromq.cpp#L1507
[12:19:26] <kml> Hi, is db.serverStatus()['connections']['available'] == maxConns; I have "available" : 815 but in logs I see "1946 connections now open"
[12:19:50] <kml> how can I check max connections?
[13:19:21] <fredix> GridFile is thread safe ?
[13:28:09] <rh1n0> does a mongo cluster use a load balancer like tradional clusters (sitting in front) or does/can the application adapter do all necessary logistics?
[13:28:40] <NodeX> it's called a mongos and it effectivly routes the reads/writes
[13:29:28] <Derick> but you can (and should) have one for each application node (up to certain limits)
[13:38:25] <rh1n0> thanks - the reason i ask is we have a rails app using mongoid and for whatever reason it complains occasionally that it cannot connect to the primary. Sure enough the primary died. No idea why. Was hoping it would bounce over to another node instead of stopping.
[13:38:57] <rh1n0> oh mongos is the balancer? need to look that up
[13:39:35] <rh1n0> nm i understand what you meant
[13:39:40] <Derick> mongos should definitely failover to the secondary
[13:39:59] <Derick> but, the ruby driver should as well in case you are just using a replicaset (and not sharding)
[13:40:05] <rh1n0> so thats a builtin thing? no outside balancing mechanism needs to be added?
[13:40:08] <Derick> you don't need mongos for just a replicaset
[13:40:31] <rh1n0> just using a replica set - 3 nodes, no arbiter
[13:40:35] <Derick> the drivers handly failover and balancing for normal replicaets, mongos handles it when you use sharding and shards
[13:40:41] <Derick> right, then the driver should do it rh1n0
[13:40:50] <rh1n0> ok thank you very much.
[13:50:56] <oskie> Hello, during normal backup MongoDB will failover. I don't know if this is because of CPU/IO starvation or typical mongo behavior. Does anyone know if it is normal? (I'm considering doing LVM backups instead.)
[13:51:41] <Derick> It's likely IO starvation - but you should be able to check that with vmstat - see what happens to swap in/out f.e.
[13:53:00] <oskie> This is on Amazon, so I suspected IO starvation. Then LVM will most likely not help, will it?
[13:53:33] <fredix> ok in fact it seems that the c++ driver is not tread safe
[13:55:31] <Derick> oskie: i think that'd make a FS snapshot - but I don't know the technology well enough to comment on
[13:57:33] <oskie> Derick: yep, it would make a full FS snapshot. But after the snapshot operation I will read the full snapshot from disk into a file (image), so that I can take it offline. And that read/write could result in IO starvation as well
[13:57:38] <oskie> ...I guess
[14:06:06] <Derick> oskie: probably not I think
[14:49:16] <Bartzy> Hi :)
[14:49:24] <Bartzy> When configuring a replica set - I should do everything through the shell, right ?
[14:49:49] <Bartzy> There is no concept of "Do it temporarily on the shell, and permanently on the config file", right ?
[14:50:35] <kali> nope, once it's setup, the replica set stores its config
[14:50:49] <kali> Bartzy: but you might use --eval if you want to script the setup
[14:51:48] <Bartzy> no need
[14:51:51] <Bartzy> Thanks a lot
[14:52:10] <Bartzy> So actually there are no "best practices" or general standards for the config file or any config (even shell) for that matter - right ?
[14:52:17] <Bartzy> It's just "install it and go"
[14:56:05] <Bartzy> kali: ^? :)
[14:59:05] <kali> Bartzy: not that i know of
[14:59:16] <Bartzy> kali: Such a relief from the black magic in my.cnf :p
[14:59:53] <kali> Bartzy: FYI, i'm a big mongo user, and i don't bother with config files. I pass everything on the mongod command line
[15:00:19] <kali> Bartzy: i prefer to have everything in one single place
[15:04:53] <Electro> http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian/ specifies that i should use glibc-2.12-1.2.el6 to avoid a known bug. Debian Squeeze has glibc-2.11.3-3. Anyone known if that version have had the known bug fixed and backported?
[16:03:21] <xico> Hi all
[16:03:27] <cmendes0101|> Hola
[16:03:34] <xico> Is it possible to store a "function" javascript object in a MongoDB document?
[16:03:40] <xico> I'm using Node.JS
[16:04:10] <xico> I have a JSON object with some information, and one of the fields is a [Functio]
[16:04:16] <xico> Do you think it is possible?
[16:09:08] <NodeX> it will store it as a string so yes
[16:09:57] <xico> But it wouldn't be possible to execute the function after retrieving it
[16:09:59] <xico> right?
[16:10:06] <xico> If it would be stored as a String
[16:18:30] <cmendes0101|> In mongo? I don't think so
[16:18:55] <xico> There is a special system collection called system.js that can store JavaScript functions to be reused. To store a function, you would do:
[16:19:05] <xico> Taken from: http://www.mongodb.org/display/DOCS/Server-side+Code+Execution
[16:19:13] <xico> I guess there is, but they advise not to use
[16:22:25] <Neptu> hej how can i see the name of my replica set??
[16:23:58] <Derick> seta:PRIMARY> rs.status()
[16:23:58] <Derick> { "set" : "seta",
[16:24:06] <kali> Neptu: it is used as a prefix by the shell
[16:24:11] <Derick> it's actually prefixed in the shell now too
[16:24:16] <Derick> it didn't use to do that though
[16:24:28] <kali> Derick: since 2.0 i think
[16:24:35] <Derick> hmm
[16:24:38] <Derick> i thought 2.2!
[16:24:41] <Neptu> ok
[16:24:41] <Derick> but I could be wrong
[16:33:24] <bhosie> i'm perplexed by my replica set's behavior. i've been putting it under stress tests and when i overload it with writes, my two secondarys (members[1],members[2] go down and members[0] goes from primary to secondary. the [1] and [2] never come back up and [0] gets stuck as a secondary permanently. i'm not sure why my set falls apart and never recovers.... http://pastebin.com/TwTFkjr8
[16:34:11] <bhosie> the only way to fix it is to restart mongod on 1 and 2
[16:36:34] <timeturne> why does it fall apart in the first place
[16:37:05] <bhosie> during stress tests where i'm feeding it tons of writes
[16:37:19] <bhosie> Tue Oct 9 03:28:59 [rsSync] warning: DR102 too much data written uncommitted 314.618MB
[16:42:38] <fjay> bhosie: perhaps a case for using a safer write level?
[16:44:48] <bhosie> fjay: safer write level?
[16:45:45] <fjay> http://whyjava.wordpress.com/2011/12/08/how-mongodb-different-write-concern-values-affect-performance-on-a-single-node/
[16:45:53] <fjay> thats for a single node but
[16:46:19] <fjay> that could possibly throttle your writes to prevent mongo from exploding
[16:48:53] <Bartzy> Hey
[16:49:02] <bhosie> fjay: ok cool. so is 'normal' the default write concern for mongo?
[16:49:21] <Bartzy> if I have a replica set and I connect with the shell to the secondary - and make changes - will they be made on the master? Also - how in the shell I connect to the master - no matter which host I specified ?
[16:50:02] <fjay> bhosie: i can't recall.. i usually just set it to what i want it to be to avoid any sort of confusion
[16:50:25] <bhosie> sweet. i'll try this out. thx
[17:02:41] <Bartzy> Anyone?
[17:05:44] <Gargoyle> Bartzy: Not sure. If you are connecting via the shell. I tend to just make sure I am on the primary if I am making changes
[17:06:02] <Gargoyle> But no, I don't think you can make changes on a secondary.
[17:06:27] <Gargoyle> If you send rs.slaveOK(), you can perform reads.
[17:06:48] <Bartzy> OK
[17:07:06] <Bartzy> and it doesn't really matter if I'm doing maintanence and usually mongo-01 is the primary, but now mongo-02 is the primary - right ?
[17:07:18] <Bartzy> Gargoyle: ^
[17:08:04] <krawek> hey guys, do you know if it is safe to run several times "rs.initiate" on the same db ?
[17:08:50] <Gargoyle> Bartzy. No it shouldn't matter.
[17:09:08] <Gargoyle> Just don't reboot both secondaries at the same time (like I did)
[17:09:12] <Gargoyle> :)
[17:09:14] <Bartzy> Why ?
[17:09:23] <Bartzy> I have only 2 mongod and 1 arbiter
[17:10:00] <Bartzy> but why not rebooting 2 secondaries and leaving one master ? BEcause it will make it secondary because it doesn't have a majority ?
[17:10:13] <Bartzy> (if you have 3 data nodes)
[17:10:13] <Gargoyle> Bartzy: Correct. Where is the arbiter running?
[17:10:20] <Bartzy> Gargoyle: Different cloud server
[17:10:26] <Bartzy> very small one (512MB RAM).
[17:10:38] <Bartzy> Hope it will be OK. I read it doesn't do much
[17:11:06] <Bartzy> Gargoyle: So how do I : 1. Put a secondary down for maintenance ? 2. Put a primary down for maint ?
[17:11:32] <Bartzy> 1. Just stop mongod gracefully and shut down the server, when it will be up and mongod will start again - it will resync (with respect to oplog size on the primary) ?
[17:11:50] <fjay> do a db.serverShutdown on the node
[17:11:52] <Gargoyle> Bartzy: Theres a page on the docs. But basically, take your secondary down (making sure primary and arbiter are in good order) then update your secondary.
[17:11:53] <Bartzy> 2. rs.stepDown(30) on the master - assure it's now secondary - and then just do the same ?
[17:11:54] <linsys> Bartzy: For a secondary yes, for a primary you want to use the rs.stepDown command
[17:11:56] <fjay> and there is a means to step a primary down
[17:12:15] <Bartzy> ok - why the docs say 120 seconds ?
[17:12:25] <Bartzy> Just for good measures ? It can be 10-20-30 seconds in stepDown ?
[17:12:43] <Gargoyle> Bartzy: Yeah, once your secondary is back up, rs stepdown will demote the primary. But, only if the secondary has caught up.
[17:13:00] <Bartzy> so basically no need to demote the primary
[17:13:25] <Bartzy> just make the secondary (old primary) catch up, and that's it. Now old secondary is current primary and old primary is current secondary. And all is OK? :P
[17:13:25] <Gargoyle> If the secondary is still catching up, the primary will not stepdown.
[17:13:47] <Bartzy> Yeah but why should I stepDown the new primary after the maintenance on the old primary ?
[17:13:59] <Gargoyle> Bartzy: Why do you need to?
[17:14:36] <Bartzy> I don't
[17:14:38] <Bartzy> OK - got you.
[17:14:42] <Gargoyle> Bartzy: Sorry, miss read that.
[17:14:46] <Gargoyle> you dont.
[17:14:47] <Bartzy> Now what happens to existing connections when I do stepDown ?
[17:15:07] <Gargoyle> Bartzy: Your app detects the timeout and reconnects! ;)
[17:15:23] <Bartzy> the driver does it by itself ?
[17:15:27] <linsys> yes
[17:15:30] <Bartzy> That is awesome
[17:15:40] <Bartzy> I just read about shutdownServer()
[17:15:45] <Gargoyle> I think that might be driver specific though, not sure. Derick might know if he has sobered up from the weekend! ;P
[17:15:46] <Bartzy> It seems like it's best to just use it all the time
[17:15:51] <Bartzy> in case of maintenance...
[17:17:43] <Bartzy> Why it wants a secondary within 10 seconds difference in the oplog
[17:17:43] <Bartzy> ?
[17:17:49] <Bartzy> why specifcally 10 secs ?
[17:18:11] <Gargoyle> Bartzy: so you don't lose too much data!
[17:18:47] <Bartzy> and 10 secs is not a lot ? :)
[17:19:42] <Gargoyle> Bartzy: Dunno actually.
[17:20:27] <Bartzy> :)
[17:20:50] <Bartzy> If Mongo will really work the way it supposed to on production... this is such a huge step forward
[17:20:57] <Bartzy> in administration effort, in performance.. everything
[17:21:02] <Bartzy> code simplicity
[17:21:13] <Derick> Gargoyle: :P
[17:21:23] <Derick> what's the Q?
[17:21:33] <Bartzy> Derick: ! :) the PHP driver automatically reconnects when it encounters a timeout ?
[17:21:38] <Bartzy> For example, primary stepped down
[17:21:54] <Derick> Bartzy: it should do, but it's a bit buggy in the 1.2 series
[17:22:18] <Bartzy> and 1.3 fixes these bugs ?
[17:26:31] <Bartzy> Derick: ? :)
[17:27:59] <Bartzy> I have another question for everyone - I'm now migrating a lot of data to mongo (about 150 million documents). I already have the (empty) servers in the replica set set up. Should I remove the secondary from the replica-set until the migration is done - and then re-initiate the replication so the entire data will move - or just keep the replication enabled ?
[17:29:18] <Derick> Bartzy: yes, feel free to test ;-)
[17:29:34] <Bartzy> Derick: Thanks - when do you reckon it will be marked as stable ?
[17:29:48] <Derick> when we are ready - RC1 this week is what I hope
[17:32:31] <jawr> hi, i'm trying to enforce unique keys with the c++ driver: conn.ensureIndex(database + container, BSON(key << 1), true); but it doesn't seem to be working; when i do an update it allows fields that should be unique
[17:41:39] <timing> Hi all!
[17:42:33] <timing> What is the best way to copy a few documents to the same collection in another database? I want to copy some stuff from production back to the development db
[17:42:35] <jawr> ah, it looks like ensureInde doesn't overwrite any old indexes
[17:42:55] <timing> I can write a script, but I don't know if thats the way to go
[18:14:29] <_m> timing: Dump/import with mongoexport
[18:14:35] <_m> http://docs.mongodb.org/manual/administration/import-export/
[18:15:15] <_m> Or write a script.
[18:28:26] <timing> _m: thanks!
[18:33:07] <gheegh> if i have 2 servers, should i make them a replica set or do sharding.. I'm upgrading from a single mongo server.
[18:35:01] <BurtyB> depends what you want to achieve
[18:36:07] <gheegh> BurtyB: I've got periods where my site gets really sluggish with writes.. we have a batch process that hits the server pretty hard. Then, after that.. it's pretty fast overall.
[18:36:31] <gheegh> But, during writes, we often will timeout the front end waiting on data.
[18:37:40] <timing> Another question, how would you define users having access on a document? can you put a list of users in a document and query on that list? Or is the relational users_posts thing the way to go?
[18:44:03] <_m> timing: We use a relational approach in that instance.
[18:48:35] <leehambley> where does one start to diagnose slow inserts, I'm seeing 14000ms (really.) insers on a 7.5M collection, one index, small docs - https://gist.github.com/83dc565db8a62dd5c191
[19:30:52] <ribo> so, I'm looking to get my mongo cluster off of AWS and onto some dedicated hosts, any one have any reccomendations?
[19:39:11] <hersha> Hi, quick question on a query. I'm running an or query with a sort and it takes forever to run. The query without the sort is fast and the individual queries alone without the $or are fast. I assume I have a problems with indexing but I'm not sure how.
[19:39:46] <hersha> db.cdr_records.find({$or:[{"called_num":"9312681211"},{"trans1_num":"9312681211"}]}).sort({start_time:-1})
[19:40:35] <hersha> there is an index on each field of the $or. called_num:1, start_time:-1 and trans1-
[19:40:56] <hersha> and trans1_num:1, start_time:-1
[19:43:55] <hersha> sigh nm just found a jura issue about this
[19:56:57] <jzawodn> wilmoor__: 8
[19:57:02] <jzawodn> err, ignore that
[20:39:06] <EuroNerd> Seems one of the recent mongodb updates has messed up my config on my ubuntu VM. Has that been a common problem?
[20:40:23] <EuroNerd> If I reinstall mongodb, will it wipe out current databases?
[20:45:41] <EuroNerd> hello?
[20:58:36] <wildcard0> hi, can someone point me at docs with best practices on updating a schema?
[21:00:18] <timeturne> updating a schema is pretty painful stuff
[21:00:58] <timeturne> most apps just set a default value for added fields and then slowly updates through a script
[21:02:37] <wildcard0> timeturne: is there any way I can use a replica set so I can maintain uptime while I do it?
[21:03:14] <timeturne> yep
[21:03:44] <timeturne> you can update the secondaries and then manually promote one of the secondaries and then update the primary from the backup secondary
[21:03:51] <wildcard0> cool
[21:03:54] <wildcard0> that sounds like a plan
[21:04:05] <wildcard0> thanks, im going to dig into that for a bit so i understand how it works
[21:04:09] <timeturne> good luck
[21:28:52] <mkscrg> when doing an update (no upsert), is there a way to verify that a document was updated (i.e. that the condition was found when the update call was made)?
[21:29:44] <mkscrg> i've seen people suggest doing a search, but that's a non-starter for high-throughput apps with lots of updates
[21:30:38] <Bilge> upskirt
[21:30:53] <Derick> Bilge: not okay
[21:31:13] <Derick> mkscrg: I don't think so
[21:31:14] <Bilge> nofunallowed.txt
[21:31:44] <Bilge> echo '#mongodb' >> nofunallowed.txt
[22:17:35] <_m> mkscrg: Use safe mode for your update
[22:18:00] <mkscrg> _m: ok what will that do for me?
[22:18:34] <_m> An error if the update fails, rather than a fire-and-forget query
[22:19:56] <_m> More specifically, "the driver sends a getLastError command after every update to ensure that the update succeeded"
[22:20:06] <_m> This is slower, of course.
[22:20:39] <mkscrg> right
[22:21:00] <mkscrg> so just to clarify, an error will be thrown if the update condition is not met?
[22:28:07] <bhosie> k so i've been googling on this for a while now. how can i specify that i want an array rather than a sub document using the php driver insert() function? same issue as this: http://stackoverflow.com/questions/9633127/error-updating-an-array-in-mongo
[23:16:01] <_m> mkscrg: It will throw an error if the update fails, yes. http://www.mongodb.org/display/DOCS/Connections
[23:18:42] <mkscrg> _m: thanks, I'll give this a try