I'm trying to keep a list of all the sites I'm working on right now, and I'm having issues using $push.
I've created a document with this:
accountData = {
    'accountid': account_id, 
    sites: {
        '001': 'example.com',
    }
};
db.accounts.insert(accountData);
This works great, I get:
{ accountid: 'AC654164545', 'sites.001': { '$exists': true } }
And I would like to add to the sites object. This is what I'm trying:
db.accounts.update( 
    {'accountid': account_id}, 
    { 
        $push: 
        { 
            sites: 
            { 
                '002': 'example2.com'
            } 
        } 
    }, 
    function(err,doc){
        console.log(err);
    }
);
The error that I get is:
err: 'The field \'sites\' must be an array but is of type Object in document
I don't want the document to be created with an array, as I know that if I did something like this when inserting:
    sites: {
        '002': 'example2.com',
        '003': 'example3.com',
        '004': 'example4.com',
    }
It would work just fine.
How do I use $push, or any other command, to add to the "sites" object without it being an array?
It can't be an array because I'm using the following to search for existing sites.
search['sites.' + site_id] = { $exists : true };