mirror of https://gitee.com/bigwinds/arangodb
Merge branch 'devel' of github.com:triAGENS/ArangoDB into devel
This commit is contained in:
commit
e5d4642193
|
@ -471,7 +471,6 @@ var _create = function (graphName, edgeDefinitions) {
|
|||
|
||||
};
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief constructor.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -487,13 +486,31 @@ var Graph = function(graphName, edgeDefinitions, vertexCollections, edgeCollecti
|
|||
var wrap = wrapCollection(obj);
|
||||
var old_remove = wrap.remove;
|
||||
wrap.remove = function(vertexId, options) {
|
||||
var myEdges = self._EDGES(vertexId);
|
||||
myEdges.forEach(
|
||||
function(edgeObj) {
|
||||
var edgeId = edgeObj._id;
|
||||
var edgeCollection = edgeId.split("/")[0];
|
||||
if (db[edgeCollection] && db[edgeCollection].exists(edgeId)) {
|
||||
db[edgeCollection].remove(edgeId);
|
||||
var graphs = getGraphCollection().toArray();
|
||||
var vertexCollectionName = vertexId.split("/")[0];
|
||||
graphs.forEach(
|
||||
function(graph) {
|
||||
var edgeDefinitions = graph.edgeDefinitions;
|
||||
if (graph.edgeDefinitions) {
|
||||
edgeDefinitions.forEach(
|
||||
function(edgeDefinition) {
|
||||
var from = edgeDefinition.from;
|
||||
var to = edgeDefinition.to;
|
||||
var collection = edgeDefinition.collection;
|
||||
if (from.indexOf(vertexCollectionName) !== -1
|
||||
|| to.indexOf(vertexCollectionName) !== -1
|
||||
) {
|
||||
var edges = db._collection(collection).toArray();
|
||||
edges.forEach(
|
||||
function(edge) {
|
||||
if (edge._from === vertexId || edge._to === vertexId) {
|
||||
db._remove(edge._id);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
@ -503,6 +520,7 @@ var Graph = function(graphName, edgeDefinitions, vertexCollections, edgeCollecti
|
|||
}
|
||||
return old_remove(vertexId, options);
|
||||
};
|
||||
|
||||
self[key] = wrap;
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in New Issue