2017-06-26 9 views
1

J'ai créé un HasAddressedge entre un User et un Addressvertex.Comment supprimer une connexion de bord à un sommet dans OrientDB?

Si je retire le HasAddressedge, le Uservertex montre encore la connexion HasAddress, juste vide.

enter image description here

De toute façon de l'enlever? Est-ce juste une chose GUI?

cela ne semble pas fonctionner UPDATE User REMOVE HasAddress

+0

Salut, je pense que c'est une chose GUI. Cordialement –

Répondre

2

Ce n'est pas correctement une chose GUI, mais vous pouvez l'ignorer. Lorsque vous créez une arête et que vous la connectez à un sommet, OrientDB crée une collection de liens (un RIDBAG) en tant que propriété du sommet. Lorsque vous supprimez des arêtes, le pointeur de bordure est supprimé de la collection, mais la collection elle-même n'est pas supprimée.

Si vous n'aimez pas, vous pouvez exécuter un

UPDATE User REMOVE in_HasAddress 

/* or out_HasAddress if you want to remove the outgoing edges collection */ 

mais S'IL VOUS PLAÎT, assurez-vous que les collections sont vides, sinon vous briser la cohérence graphique (vous utilisez une API de document manipuler le graphique).

Mon conseil est de l'éviter en général.

+0

Merci. Je préfère si 'HasAddress' n'était pas là si le bord a été enlevé .. Il est plus facile de voir quel lien est utilisé ou non. Par exemple, 'out_HasAddress' n'est pas utilisé, mais' out_HasPhone' est utilisé, même s'il contient quelques entrées vides. Jamais le moins, votre requête fonctionne. – Patrioticcow

+0

utilisez la clause WHERE lorsque vous avez plusieurs enregistrements. –