Siger du, at du kun vil indsætte, hvis "data" er unikt? Hvis ja, kunne du oprette en unik begrænsning på "data" og opdatere med safeMode ?
Jeg ville også være fristet til at strukturere din sammensatte nøgle sådan her;
db.so.insert(
{
_id: {
p0:1,
p1:0,
p2:0,
p3:0,
p4:0,
p5:0,
p6:0,
p7:0,
},
data:"apiceofdata",
}
);