Ich habe folgendes MongoEngine DokumentMongoEngine löschen Dokument
{
'_id': 'some_id',
'data': 'some_data'
}
Wie kann ich delete
dieses Dokument MongoEngine mit?
Was ich habe versucht:
import my_collection
obj = my_collection.MyCol.objects.get(_id='some_id')
# obj is correctly found - let's continue
obj.delete()
# mongoengine.errors.ValidationError: 'None' is not a valid ObjectId
obj.delete('some_id')
# TypeError: delete() takes 1 positional argument but 2 were given
obj.delete(_id='some_id')
# mongoengine.errors.ValidationError: 'None' is not a valid ObjectId
- note
Seltsamer die folgenden funktioniert perfekt:
my_collection.MyCol.objects.delete()
# delete all documents in the collection
Aber ich habe MongoEngine docs gefolgt , und immer noch nicht schaffen, nur eine spezifische zu löschen ic Dokument.
Ich denke, [dass Anmerkung] (http://docs.mongoengine.org/guide/document-instances.html#deleting-documents) hat etwas damit zu tun: 'Beachten Sie, dass dies nur funktioniert, wenn das Dokument in der Datenbank existiert und eine gültige ID hat. ' – alecxe
@alecxe mmm Ich habe darüber nachgedacht, aber es wurde ignoriert, weil MongoEngine sagt,' Keine 'ist keine gültige ObjectId' - nicht' 'some_id'' – Jivan
Posted eine aktuelle Theorie als Antwort. Haben Sie einen benutzerdefinierten Primärschlüssel/ein benutzerdefiniertes Feld im Modell definiert? Vielen Dank. – alecxe