2016-03-31 26 views
0

Dosyaları depolamak için NodeJS'de MongoDB ve GridFS kullanıyorum. Bir gereksinim nedeniyle (dosyalar, diğer verilerle 1'den 1'e kadar yazışmadadır) İstemci tarafında (AngularJS) bir istek üzerine sunucu tarafındaki dosyaları kopyalamak/çoğaltmak zorundayım. Sadece ilgili fs.files dosyasında karşılık gelen verileri kopyalamak/kopyalamak istemiyorum, aynı zamanda fs.chunks dosyasında ve aynı zamanda dosyanın meta verilerini güncelleştirmek istemiyorum. Bunu nasıl yapardım? Şimdiden çok teşekkürler. gitmekMongoDB, GridFS ve NodeJS dosyaları kopyalayın/çoğaltınJS

cevap

0

Tek Yönlü izleyen bir

  1. gerekli toplama dökümü oluşturun olduğunu.
  2. ('maddeleri') dropDups:true seçeneği ile

    db.collection benzersiz bir dizin oluşturun ensureIndex. ({Tanımlayıcı: 1}, {benzersiz: true, dropDups: true})

    dropDups kaldıracaktır tüm yinelenen belgeler.

+0

Cevabınız için çok teşekkürler. Özür dilerim ama bu sorunun açık bir şekilde koymadığı görünüyor. İhtiyacım olan şey şudur: İstemci tarafında (açısal) bir istek üzerine, tam dosya kopyalanmalı/çoğaltılmalıdır (istemci tarafından yeni meta veriler elde edilmiş). BTW, gridfs-stream ve müthiş kullanıyorum. Tekrar teşekkürler. Not: Sadece sorumu açıkladım. – Fluffy

+0

Bu yüzden belgeleri güncellemek veya mevcut olanlara dokunmadan mevcut olanlara dokunmadan eklemek mi istiyorsunuz? –

+0

Gerçekten de, veritabanındaki dosyanın bir kopyasını/kopyasını oluşturmak ve sadece meta verileri değiştirmek istiyorum. Ancak, orijinal parçalara işaret eden fs.files dosyasında yalnızca bir kopya/çoğaltma oluşturmak istemiyorum, ancak dosyalar diğer verilerle bire bir yazışmaya girdiklerinden ve bunları sildikten sonra da parçaları çoğaltmam gerekiyor. diğer verilerde, karşılık gelen dosyanın da silinmesi gerekmektedir, dolayısıyla dosya parçalarının çoğaltılmasına da ihtiyaç duyulmaktadır. Tekrar teşekkürler! – Fluffy

İlgili konular