¿Cómo puedo guardar una matriz vacía en mongodb usando js

Básicamente, tengo mi aplicación funcionando pero tengo un problema: si paso un objeto que contiene una matriz vacía para guardar, la matriz no se guarda en la db. No estoy seguro de que este sea un problema en js o en el controlador mongo, pero para guardar la matriz vacía necesito pasar la matriz de esta manera: products: [''] .

Esta es la estructura de mi documento mongo:

 _id: ObjectId(...), name: 'String', subcategories: [ { subcategory: 'string', products: [ { name: 'string' price: integer } ] } ] 

Así que en mi interfaz de usuario estoy capturando todo el documento a través de una llamada ajax que inserta un nuevo objeto en la matriz de subcategorías. El nuevo objeto se ve así:

{subcategory:'string', products:['']}

Y esto funciona bien hasta que necesito insertar un nuevo objeto dentro de la matriz: debido a que agarré todo el objeto, empujé el nuevo objeto a la matriz, el anterior se ve así:

{subcategory: 'string'}

Habiendo perdido la mención a products:[] array en el proceso.

¿Cómo puedo evitar esto? Necesito poder tener arreglos vacíos en mi objeto.

EDITAR

Lo que hice en la parte delantera: $.get objeto completo con $.get que devolvió:

 var obj = _id: ObjectId(...), name: 'String', subcategories: [ { subcategory: 'Subcategory1', products: [ { name: 'string' price: integer } ] } ]; 

Luego, en la parte delantera, he insertado la nueva categoría de objeto dentro de la matriz de subcategorías:

 data.subcategories.push({subcategory: 'Subcategory2', products: ['']}) 

Donde subcat era una cadena con el nombre de la categoría. En mi db pude ver que he añadido con éxito el objeto:

 var obj = _id: ObjectId(...), name: 'String', subcategories: [ { subcategory: 'Subcategory1', products: [ { name: 'string' price: integer } ] }, { subcategory: 'Subcategory2' products: [] } ]; 

El problema fue cuando quise agregar otra subcategoría, la anterior regresó vacía:

 var obj = _id: ObjectId(...), name: 'String', subcategories: [ { subcategory: 'Subcategory1', products: [ { name: 'string' price: integer } ] }, { subcategory: 'Subcategory2' }, { subcategory: 'Subcategory3' products: [] }, ]; 

Porque en algún momento la matriz vacía fue eliminada del objeto. Como dije, solucioné esto en la parte delantera, por lo que se corrigió el error de jade, pero aún me parece extraño que los products: [] se eliminaran del documento.

Soy nuevo en MongoDb y en node, sin mencionar que también soy nuevo en JS, por lo que bien podría ser una característica que desconozco.