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.
|
/// @brief constructor.
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -487,13 +486,31 @@ var Graph = function(graphName, edgeDefinitions, vertexCollections, edgeCollecti
|
||||||
var wrap = wrapCollection(obj);
|
var wrap = wrapCollection(obj);
|
||||||
var old_remove = wrap.remove;
|
var old_remove = wrap.remove;
|
||||||
wrap.remove = function(vertexId, options) {
|
wrap.remove = function(vertexId, options) {
|
||||||
var myEdges = self._EDGES(vertexId);
|
var graphs = getGraphCollection().toArray();
|
||||||
myEdges.forEach(
|
var vertexCollectionName = vertexId.split("/")[0];
|
||||||
function(edgeObj) {
|
graphs.forEach(
|
||||||
var edgeId = edgeObj._id;
|
function(graph) {
|
||||||
var edgeCollection = edgeId.split("/")[0];
|
var edgeDefinitions = graph.edgeDefinitions;
|
||||||
if (db[edgeCollection] && db[edgeCollection].exists(edgeId)) {
|
if (graph.edgeDefinitions) {
|
||||||
db[edgeCollection].remove(edgeId);
|
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);
|
return old_remove(vertexId, options);
|
||||||
};
|
};
|
||||||
|
|
||||||
self[key] = wrap;
|
self[key] = wrap;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue