Tekrar hoşgeldiniz.
Şimdiye kadar, bahsettiğim gibi şeyleri öğretmek, test etmek ve hata ayıklamak için güzel olan Mongo
konsolunu kullanarak Mongo TV ile nasıl etkileşimde bulunduğumuzu gördük. Ancak, burada
anlattığımız gibi, etkileşim içindeki kodumuzun büyük kısmını yazacağız. Veritabanımızda aslında ifade
kodumuz yerine bunu yapacağız.
Öyleyse bir örnek verelim, Yelp kampına gidelim ve sadece ona bir göz atalım.
Evet.
Burada mangu'u nereden kullanacağımızın bir örneği.
Örneğin, burada bir diziye kamp eklemeden ziyade dizimize yeni bir kamp eklediğimizde bir veritabanı olan
bir mongo veritabanı ve kamp olarak adlandırılan bir koleksiyon olurdu.
Ve bu seride gerçekten çok yakında başlıyor.
Ve sonra, kampanyayı kampa indirgemek için bir
gönderme talebi gönderirken, burada tanımlanan dizi kamplarıyla kampları oluşturmak yerine, kesilmiş kamp alanlarında
da Mongar DP koleksiyonuna ekleyeceğimiz bir diziye bastıracağız.
Aslında bir D-B kampı bulup bulup sonuçlarını alıp kamp
şablonuna göndereceğiz.
TAMAM.
Böylece oraya gideceğiz.
Bu yüzden bu derste odaklanıyoruz.
Bunu yapmak için mongoose adı verilen bir araç hakkında bilgi edineceğiz.
Bu yüzden, üç ana hedefim var, size neden kullandığımızı açıklayan mongooses'ları anlatıyor.
Ayrıca bir javascript dosyası yerine nasıl kullanılacağını göstermek istiyorum.
Mongoose'un ne hakkında konuşarak başlayalım.
Bu yüzden resmi ana sayfayı açtım.
Mongoose'un hiçbir dahi için zarif bir Mongo DB nesne modellendiğini söylüyor.
TAMAM.
Biraz daha okuyalım.
Mongoose, uygulama verilerinizi modellemek için basit bir şema tabanlı çözüm sunar.
Dahili typecasting doğrulama kraliçesi bina iş mantığı coax ve kutudan daha
fazlasını içerir.
Dolayısıyla, deneyimli bir geliştiriciye daha mantıklı olacağını düşünüyorum.
Ancak gerçek anlamı Mongoose'un bir araç olmasıdır.
NPM ile indirilecek olan ve javascript dosyalarımız yerine Mongo D-B ile etkileşim kurmamıza
yardımcı olan bir paket.
Mongoose olmadan yapmak mümkündür.
Bunun gibi başka araçlar da vardı ancak Jay Querrey'nin Dom ile etkileşim
kurmamızı kolaylaştırdığı gibi veritabanıyla etkileşim kurmamızı kolaylaştırıyor ancak bir sorguya sahip olmamız gerekiyor.
Mongoose, monkhood DB veritabanıyla etkileşim kurmamızı daha kolay ve daha temiz yapıyor ancak gerekli değildir.
Şimdi bulut 9 bulacaksınız ve ilerleyip tek bir javascript dosyası hazırlayacağım.
dosya olacak ve dosyayı çalıştırdığımızda mongoose kullanarak veritabanına bir şeyler eklemek istiyorum.
Hızlı bir uygulama olmayacak, sadece Evet'den sonra düğüm düğümüyle çalıştırdığım tek bir
Bu yüzden başlayacağım.
Verdiğim bir dizinin içindeyim ve bir dosya yapacağım.
Ve ona sadece kedi diyelim.
Evet çok fazla köpek uğraşıyordum.
Şikayet alacağımı biliyorum.
Bazı kedileri o kadar iyi ciddiye almaya çalışmak ve daha sonra içinde yapmak.
yükleyeceğim.
Açalım ve başka bir şey yapmadan önce bir paket olan mongoose'u
Orada gidelim ve biraz oda yapalım ve sonraki yapmak istediğimiz şey,
mongoose'u yapacak olan mongoose'tan mongoose'a ihtiyaç duyulmasını ve ilk önce ne yapacağımızın veritabanına yeni bir kedi
eklemeye odaklanmasını gerektiriyor. Daha sonra veritabanından tüm kedileri alacağız ve her biri bu şekilde günlüğe
yazan basit bir konsol
yapacağız.
Tamam, böylece veritabanına nasıl yeni bir kedi eklediğimizi bulmaya başlayacağız.
daha kurulum var, bir veritabanına bağlanmamız gereken Mongoose ile yapmamız gerekiyor.
Ve bunu yapmadan önce, biraz
Bu yüzden, bunu arka planda koştuğumuzu hatırlayın.
Bu bizim Mongo temsilcimiz.
Koşmayı sürdüreceğiz.
Bu nedenle eğer bir nedenden dolayı kapattıysanız, onu Man-God komutuyla tekrar
açtığınızdan emin olun ve sonra, çalıştırdığımız bu sunucuya bağlanmak
için mongoose'a söyleyeceğiz ve bu mongoose'un bağlantı kurduğu ve daha sonra Bu Mongo DB kolon eğik çizgi çizgi yerelhost eğik çizgisine benzeyen
bir URL.
Ve sonra herneyse gelecek istiyoruz.
Bu veritabanımızın adıdır.
Ve daha önce olduğu gibi veritabanım yoksa, cat uygulamasını çağıralım Henüz bir kedi
uygulaması veritabanımız yok.
Ve ben bunu çalıştırırsam bağlanacak ve kedi uygulaması bulmaya çalışacak ve bulamayacak ve benim için
kedi uygulaması yapacak.
Ancak bir tane varsa ve bulursa mevcut kedi uygulamasını kullanır.
Bu yüzden sadece cat app ile gidersiniz.
Bana uyar.
Ve bu şimdi veritabanımıza bağlanacak ve biz sadece dosya düğüm kedi kedilerimizi çalıştıran bu
testi deneyebiliriz.
Evet.
Her şey iyi bir sonuç anlamına gelen bir hata alamıyoruz.
Böylece C'yi kontrol edebiliriz.
Ve şimdi yapmak istediğimiz, veritabanına bir kedi eklemek üzerine yoğunlaşmak.
Ve bunu yapmadan önce aslında bir kedinin neye benzediğini tanımlamamız gerekiyor.
Bu yüzden burada yapacağım ve biraz yeni sözdizimi göreceksin.
Daha önce hiç görmediğiniz Mongoose'la birlikte gelen yeni yöntemler bir demet ve
söz veriyorum hepsini anlatacağım ama sadece yazarak başlayacağım.
Bu nedenle, kedi şemamızı yeni bir mongoose nokta şemasına, bir nesneyi içine soktuğumuz bir sermaye kaybına eşit olarak tanımlıyoruz ve
daha sonra nesne içinde bir kedinin bir dizesi olduğu bir sayı, bir yaş olan bir sayı olduğunu söyleyeceğiz ve bunu yapabiliriz
Üzüm her ne kadar pek çok kedi ırkını tanımadığımı fark etsem de, öfkeyi değiştireceğim
diye büyü yapmak gerçekten zor bir sözcük demekti.
Bunu hep unutuyorum.
Bir sanırım doğru buldu.
Böylece mizaç yapacak ve bu da bir ip olacak.
TAMAM.
Ve biz de kurtaracağız.
Ve bu aslında veritabanımıza hiçbir şey yapmaz.
Sadece mongoose veya javascript söyler.
Eşyanın javascript tarafında, veritabanımıza kediler ekleyebilmek istediğini ve bir kedi
bunun kendiniz değil mi diye sorduğunuz gibi tanımlanmasını söyler.
Yok hayır.
Soru iyi ilişkisiz.
Bu, tablo tanımlamak zorunda olmadığım anlamına gelmez mi?
Evet bu doğru.
Bu bir tablo tanımlamak değil.
Bu, verilerimiz için bir kalıp tanımlamaktadır, ancak bu, yeni şeyler ekleyerek veya belirli
şeyleri bırakmamızın yasak olduğu anlamına gelmez.
işleyebilecek bir kod yazmak için öngörülebilir bir yapıya ihtiyacımız vardır.
Yapıyı sağlamanın güzel bir yoludur, çünkü bu kedileri
Diyelim ki, isim yaşı ve mizaç yazdırmak için bir şablon istiyoruz.
Her kedinin yaş ve mizaç adını taşıdığından emin olmalıyız.
Ve eğer o değilse, bunu tahmin edebilmeliyiz.
Şemayı böyle tanımlıyoruz.
Ama biz yapmak için bir şey daha çözdük.
Ve deneyimime göre bu sonraki satır biraz kafa karıştırıcı.
yazarsam, Mongoose Dopp modeline eşit ve daha sonra bu sefer tırnak içine alıp tekrar şemaya dönüş.
Bu yüzden ilk kedi bir sermaye ile
Ve biz kurtaracağız.
Yani burada yaptığımız şey, her kedinin isim yaşı ve mizacına sahip olduğunu gösteren bir kalıp olan
bu şema kedi şemasını aldık ve onu bir modele derledik ve onu değişken bir kediye kaydettik ve şimdi
bu kedi değişkenini kullanabiliriz kedileri güncellemek için kedileri bulmak için kedileri bulmak için yeni kediler yapmak için başkent
C ile.
Cat'in her şeyi yapacağız, bu yüzden Cat find veya cat dot remove ya da cat dot create gibi şeyleri yapacağız.
bir sürü farklı parçaya sahip olan bir kedi için bir desen olan bu kedi nesnesini yarattık.
Dolayısıyla, şu anda
Dolayısıyla bu, sadece bir kedi bir ad çağı ve mizaç olduğunu söyleyen saf desen.
Ve onu bir modele derledikten sonra bir değişkene kaydettiğimizde, şu anda sadece bu desen değil,
aslında onun üzerinde istediğimiz tüm yöntemler var.
Bu deseni alır ve kullanması gereken tüm yöntemleri içeren bu karmaşık modeli oluşturur.
Ve her zaman biraz şaşkın, özellikle de bunun için buradaki
her zaman koleksiyon adının tekil hali gerekiyor.
yaptığımız şey kediler diye bir koleksiyon yapacak ve çoğullaştırmak nasıl olursa olsun oldukça zeki.
Dolayısıyla ona kedi verirsek, burada
Bunu yapan küçük, güzel bir kütüphane var.
Kişi gibi bir şeyi sorunsuz biçimde insanlara çoğaltılabilir.
Bu yüzden tekrarlanan bu, kedimiz olan modelimizin tekil versiyonunun adı ve bunu otomatik olarak
alacak ve veritabanımızda D-B salak kedilere benzeyen yeni bir koleksiyon oluşturacak.
Tamam, şimdi bir kedi eklemek için yapmamız gereken her şeye sahibiz.
Şimdi sadece kod yazmamız gerekiyor.