SORU
18 EKİM 2011, Salı


Node.js - Firavun faresi ile İlişkiler Oluşturarak

2 Şemalar var, Custphone Subdomain. Custphone belongs_to Subdomain Subdomain has_many Custphones.

Sorun ilişki Gelincik kullanarak oluşturma. Amacım yapmaktır: custphone.alt ve Custphone ait olduğu etki alanı.

Benim şemalarında var:

SubdomainSchema = new Schema
    name : String

CustphoneSchema = new Schema
    phone : String
    subdomain  : [SubdomainSchema]

Custphone sonucu yazdırırken.

{ _id: 4e9bc59b01c642bf4a00002d,
  subdomain: [] }

Custphone sonucu ne zaman MongoDB {"$oid": "4e9b532b01c642bf4a000003"} vardır.

custphone.subdomain ve custphone en alt nesne almak istiyorum.

CEVAP
18 EKİM 2011, Salı


Yeni populate işlevi Firavun faresi olarak denemek için arıyoruz gibi geliyor.

Yukarıdaki örneği kullanarak:

var Schema = mongoose.Schema,
    ObjectId = Schema.ObjectId;

SubdomainSchema = new Schema
    name : String

CustphoneSchema = new Schema
    phone : String
    subdomain  : { type: ObjectId, ref: 'SubdomainSchema' }

subdomain alan 'gibi: . _ıd güncellenen olacak

var newSubdomain = new SubdomainSchema({name: 'Example Domain'})
newSubdomain.save()

var newCustphone = new CustphoneSchema({phone: '123-456-7890', subdomain: newSubdomain._id})
newCustphone.save()

Aslında biraz daha karmaşık bir sorgu sözdizimi kullanmak zorunda kalacaksın subdomain sahadan veri almak için:

CustphoneSchema.findOne({}).populate('subdomain').exec(function(err, custPhone) { 
// Your callback code where you can access subdomain directly through custPhone.subdomain.name 
})

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CNET

    CNET

    5 Mayıs 2006
  • PhoneBuff

    PhoneBuff

    10 HAZİRAN 2011
  • Crossover

    Crossover

    18 HAZİRAN 2007