I have type User and Material.
type User {
//...
materials: [Material]
}
type Material {
id: ID!
name: String!
I created some node with error, having Material.name being null
Now I wanted to delete that node using Ratel. I found the id (or uid of that bad material) and wrote mutation
{
delete {
<0x382d0> * * .
}
}
The message is success, but when I search for that node, the node is not deleted.
Now my queries are problematic because Slash can not fetch String! field with null as its value, and I wanted to delete it by hand, Ratel is saying that the mutation is Done, but nothing changes.
The weird thing as well is that, when I query it from Slash with __typename, the bad-constructed material is of type Material, but when I search it from the Ratel with
{
q(func: type("Material")) {
uid
}
}
The result is:
{
"data": {
"q": [
{
"uid": "0x3d0cd"
}
]
},
"extensions": {
"server_latency": {
"parsing_ns": 57404,
"processing_ns": 281996,
"encoding_ns": 35332,
"assign_timestamp_ns": 587825,
"total_ns": 1010259
},
"txn": {
"start_ts": 460282
},
"metrics": {
"num_uids": {
"_total": 1,
"dgraph.type": 0,
"uid": 1
}
}
}
}
As you can see, the material with bad data is not there. I searched it by uid, found it and tried expand(all), tried to print a type, nothing. It only shows the uid of that bad node. How can I fix it?