Comment créer un DBRef en fonction d'un champ donné par moi-même? Par exemple, j'ai le champ UID dans la table client, et j'ai aussi ce champ UID dans la table des commandes, qui servira à référencer le client auquel cette requête appartient, ça ne fonctionne pas très bien, voir:NoSQL, DBRefs: MongoDB
> db.customers.findOne();
{
"_id" : ObjectId("4ef4a61a90eec3e3c748263c"),
"uid" : 1,
"name" : "Andrey",
"lastname" : "Knupp Vital"
}
> db.orders.findOne();
{
"_id" : ObjectId("4ef4a66490eec3e3c748263d"),
"oid" : 1,
"uid" : 1,
"price" : "149.90"
}
> db.orders.remove();
> order = { oid : 1 , price : 149.90 , uid : new DBRef ('customers' , 1) } ;
{
"oid" : 1,
"price" : 149.9,
"uid" : {
"$ref" : "customers",
"$id" : 1
}
}
> db.orders.save (order) ;
> order.uid.fetch();
null
> order.uid
{ "$ref" : "customers", "$id" : 1 }
>
N'est pas obsolète, .fetch() ?? – arivero
@arivero Peut-être. Cette réponse date de presque 2 ans;) Je n'ai pas encore rencontré de cas d'utilisation où DBRefs est particulièrement pratique, donc je m'en tiendrai aux simples valeurs _id. –