title: how do I insert an array of objects to mongodb using meteor?
body: <p>How do I get a clean insert without extraneous characters being added when trying to insert an array of object.  If I manually do an insert from mongodb shell I get the expected results, otherwise it doesn't seem to work.</p>
  
  <p>What I'm trying to achieve is the results from mongodb shell:</p>
  
  <pre><code>db.test.insert([{name:"john"},{name:"jane"}]);
  </code></pre>
  
  <p>which yields:</p>
  
  <pre><code>db.test.find()
  { "_id" : ObjectId("53bb0768dc2469c1f440a3c2"), "name" : "john" }
  { "_id" : ObjectId("53bb0768dc2469c1f440a3c3"), "name" : "jane" }
  </code></pre>
  
  <p>But I don't get that, so I used the code snippet below to test several ways to insert the array of objects hoping to find the right combination:</p>
  
  <pre><code>test = new Meteor.Collection("test");
  a = new Array();
  a.push({name:"john"});
  a.push({name:"jane"});
  console.log(a);
  test.insert(a);  
  console.log(a.toString());
  test.insert(a.toString());  
  console.log(JSON.stringify(a));
  test.insert(JSON.stringify(a));
  test.insert([{name:"john"},{name:"jane"}]);
  test.insert([{"name":"john"},{"name":"jane"}]);
  </code></pre>
  
  <p>What I get in the console:</p>
  
  <pre><code>[ { name: 'john' }, { name: 'jane' } ]
  [object Object],[object Object]
  [{"name":"john"},{"name":"jane"}]
  </code></pre>
  
  <p>What I get in the database:
  db.test.find()</p>
  
  <pre><code>{ "0" : { "name" : "john" }, "1" : { "name" : "jane" }, "_id" : "SYkv79XLNQsWgkYmw" }
  { "0" : "[", "1" : "o", "2" : "b", "3" : "j", "4" : "e", "5" : "c", "6" : "t", "7" : " ", "8" : "O", "9" : "b", "10" : "j", "11" : "e", "12" : "c", "13" : "t", "14" : "]", "15" : ",", "16" : "[", "17" : "o", "18" : "b", "19" : "j", "20" : "e", "21" : "c", "22" : "t", "23" : " ", "24" : "O", "25" : "b", "26" : "j", "27" : "e", "28" : "c", "29" : "t", "30" : "]", "_id" : "SiQ3ZpGfeBqj4mXB2" }
  { "0" : "[", "1" : "{", "2" : "\"", "3" : "n", "4" : "a", "5" : "m", "6" : "e", "7" : "\"", "8" : ":", "9" : "\"", "10" : "j", "11" : "o", "12" : "h", "13" : "n", "14" : "\"", "15" : "}", "16" : ",", "17" : "{", "18" : "\"", "19" : "n", "20" : "a", "21" : "m", "22" : "e", "23" : "\"", "24" : ":", "25" : "\"", "26" : "j", "27" : "a", "28" : "n", "29" : "e", "30" : "\"", "31" : "}", "32" : "]", "_id" : "kKRiR8NjNJefBYRya" }
  { "0" : { "name" : "john" }, "1" : { "name" : "jane" }, "_id" : "RBrvkrw5xZaEGdczF" }
  { "0" : { "name" : "john" }, "1" : { "name" : "jane" }, "_id" : "2cfWJqHY4aJ6yF68s" }
  </code></pre>
  
  <p>I expected a simple 'test.insert(a)' to give me what I want, but it includes the array indexes.  How do I build an array of objects to insert into mongodb from meteor without the array indexes?  Stringify seemed to build a clean looking serialization of the array, but apparently I just don't know how to do this?  The purpose of this is so I can build a complex array of objects in memory and do a bulk insert.</p>