MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Enregistrer le champ de référence mongoengine

J'ai essayé avec cette solution de contournement en passant le DBRef du document et cela fonctionne.

@resources.route('/<r_id>/add_cabling', methods=['GET'])
def set_connector(r_id):
    r = Resource.objects(id=r_id).get()
    c = Cable.objects().first()
    c.save() #revalidate here
    r.cable=c.to_dbref()
    r.save()
    return jsonify(r)

Il faut effectuer le save() opération à nouveau sur l'objet interrogé pour obtenir le DBRef sinon il lancera cette erreur :