2016-04-13 5 views
0

J'ai récemment reçu de l'aide de données fictives pour mon slickgrid et maintenant j'utilise des données de MongoDB qui a une carte d'identité en tant ObjectIdEn utilisant la cartographie en profondeur dans slickgrid dataview

Avant

{"_id":"123456789", "name": "Name"} 

et je pouvais ensemble dataview utilisant ce

dataView.setItems(data, "_id"); 

maintenant Mongo me donne ceci de ma db

{"_id":ObjectId("570e6d3cd9e2ce225877b8a8"), "name": "Name"} 

et mon service java affichant le JSON, il sérialise à cette

{ "_id" : { "$oid" : "570e6d3cd9e2ce225877b8a8"} , "name": "Name"} 

et le problème est que setItems voit toutes les années _id comme un objet et non comme un identifiant unique

J'ai essayé des choses comme

dataView.setItems(data, "_id.$oid"); 

et

dataView.setItems(data, "$oid"); 

Mais je ne peux pas les faire travailler. Comment devrais-je déclarer setItems maintenant pour obtenir le $ oid?

Editer: D'accord, un ami pense que dataView.setItems ne prend pas en charge le mappage profond. Je suis maintenant dans la mise oid $ au niveau supérieur, mais si quelqu'un sait d'une autre façon, s'il vous plaît, aidez-moi

Répondre

0

Je ne pourrais pas obtenir setItems de prendre oid $ alors je viens de changer la valeur de _id

$.each(data, function(index, value) { 
    value._id = value._id.$oid; 
}); 
dataView.setItems(data, "_id");