Voulez-vous dire que vous ne voulez insérer que si les "données" sont uniques ? Si oui, pourriez-vous créer une contrainte unique sur "data", et mettre à jour avec safeMode ?
Je serais également tenté de structurer votre clé composite comme ceci ;
db.so.insert(
{
_id: {
p0:1,
p1:0,
p2:0,
p3:0,
p4:0,
p5:0,
p6:0,
p7:0,
},
data:"apiceofdata",
}
);