2017-10-14 20 views
0

Je travaille sur une API REST vraiment basique dans Node js. J'ai une entité «bateau» et une entité «bordereau». Je veux attribuer la clé d'entité d'un bateau à la valeur de la propriété du bateau du bordereau. Essentiellement une situation de clé étrangère ici. J'ai le sentiment que j'aurai besoin de regarder plus dans la structure d'entité enfant/parent pour une solution.Comment affecter une clé d'entité d'entité en tant que propriété d'entité différente dans le magasin de données (noeud JS)?

Toute aide est grandement appréciée!

Répondre

0

Pour les relations parents/enfants, vous devrez créer des clés de ce type.

db.save({ 
    //this key is incomplete, so database will automatically assign id for 
    //the child entity. Parent entity uses user provided name. 
    key: db.key(["ParentEntityKind", "1234", "ChildEntityKind"]), 
    data: { someData: 1 } 
}); 

Pour stocker la clé comme une propriété dans une autre entité passe comme un objet clé de données. Notez que la clé qui sera stockée en tant que propriété doit être complétée, c'est-à-dire qu'elle doit avoir un nom ou un identifiant à la fin de son chemin.

let keyToBeStored = db.key(["KindName", "123"]); 
let keyFromAlreadyCreatedObject = obj[db.KEY]; 

db.save({ 
    key: db.key(["SomeKindThatStoresKeysAsProperty"]), 
    data: { 
     keyCreatedInCodeRef: keyToBeStored, 
     keyFromObjectRef: keyFromAlreadyCreatedObject 
    } 
}); 
+0

Merci! C'est parfait. KeyToBeStored est l'argument approprié dans le filtre de requête suivant: \t .filter ('_ _key_ _', '=', keyToBeStored) – wilsonsk

+0

A découvert que les résultats d'une requête se trouvent dans un tableau imbriqué. – wilsonsk

+0

N'oubliez pas de marquer la réponse comme acceptée. Et, oui, répondre à votre première question de commentaire, vous pouvez passer l'objet clé dans le filtre et où vous voulez, il se comportera correctement. – QuestionAndAnswer