¿Está diciendo que solo desea insertar si los "datos" son únicos? Si es así, ¿podría crear una restricción única en "datos" y actualizar con modo seguro?
También estaría tentado a estructurar su clave compuesta de esta manera;
db.so.insert(
{
_id: {
p0:1,
p1:0,
p2:0,
p3:0,
p4:0,
p5:0,
p6:0,
p7:0,
},
data:"apiceofdata",
}
);