Menar du att du bara vill infoga om "data" är unikt? Om så är fallet, kan du skapa en unik begränsning för "data" och uppdatera med safeMode ?
Jag skulle också vara frestad att strukturera din sammansatta nyckel så här;
db.so.insert(
{
_id: {
p0:1,
p1:0,
p2:0,
p3:0,
p4:0,
p5:0,
p6:0,
p7:0,
},
data:"apiceofdata",
}
);