Seçilen bir dosyayı MongoDB'ye kaydetmek istiyorum. MongoDB'ye eklemek için dosyayı BSON nesnesine doğru şekilde nasıl ekleyebilirim? Yaklaşımım yanlışsa, lütfen doğru yönde ilerleyin.Bir dosyayı MongoDB'ye nasıl kaydederim?
Müşteri kodu aşağıdadır. Bu jQuery işlevleri, her giriş alanında metni toplar (dosya kısmındaki yardıma gereksinim duyar) ve bir BSON nesnesi olarak sunucuya gönderir.
$('#add').click(function()
{
console.log('Creating JSON object...');
var classCode = $('#classCode').val();
var professor = $('#professor').val();
var description = $('#description').val();
var file = $('#file').val();
var document =
{
'classCode':classCode,
'professor':professor,
'description':description,
'file':file,
'dateUploaded':new Date(),
'rating':0
};
console.log('Adding document.');
socket.emit('addDocument', document);
});
formun HTML:
<form>
<input type = 'text' placeholder = 'Class code' id = 'classCode'/>
<input type = 'text' placeholder = 'Document description' id = 'description'/>
<input type = 'text' placeholder = 'Professor' id = 'professor'/>
<input type = 'file' id = 'file'/>
<input type = 'submit' id = 'add'/>
</form>
CoffeeScript sunucu tarafında kod: Kullanmak denemelisiniz MongoDB dosyaları saklamak için
#Uploads a document to the server. documentData is sent via javascript from submit.html
socket.on 'addDocument', (documentData) ->
console.log 'Adding document: ' + documentData
db.collection 'documents', (err, collection) ->
collection.insert documentData, safe:false
return
GridFS hakkında okuyorum, ancak GridFS'ye kaydetmek için dosyayı istemciden sunucuya nasıl gönderileceğini gösteren bir örnek bulamıyorum. Herhangi bir kaynak var mı? – crzrcn
Node.js'de iyi değilim, ancak bazı eğiticilere bakabilirsiniz (https://gist.github.com/1071705 ve http://prazjain.wordpress.com/2012/04/18/upload-and -display-dosya içinde-nodejs-uygulama /). Bu öğreticilerde, dosyaları düzenli bir dosya sistemine kaydederler ve 'fs' ile' GridFS' kodunu –
değiştirmelisiniz. Öncelikle, kodunuzun çalıştığından emin olmak için dosya sisteminize dosya yüklemeyi deneyin. Ve daha sonra "GridFs" –