2016-04-05 17 views
1

Mongodb ve Backend Development konusunda yeniyim. Bir kullanıcının bir json oluşturabileceği bir sistem oluşturdum. Json'u veri tabanında saklıyorum ama veriyi aldığımda İkili Veri olarak görünüyor. Bunu JSON'a nasıl dönüştürebilirim? Çevrimiçi çevirici yok, google kapsamlı var. Teşekkürler.Mongodb ikili formda JSON dosyası depolanıyor

Geri döndüğüm şey budur.

{_bsontype: 'İkili', sub_type: 0, pozisyonlar: 1269, tamponu:}

Bu Modeli

// app/models/project.js 
    // load the things we need 
var mongoose = require('mongoose'); 

// define the schema for our project model 
    var projectSchema = mongoose.Schema({ 


      id  : String, 
      allwork :[ 
         { 

             protocol  : String, 
            name   : String, 
            json   : Object 
        } 
        ] 



    }); 



    // create the model for users and expose it to our app 

    module.exports = mongoose.model('Project', projectSchema); 

Bu sorgu

var Project = require('./app/models/project'); 
    Project.findOne({ 'id' : 'pop' }, function(err, callback) { 
    if (err) return "Error searching person"; 
    if(callback) { 
     console.log(callback.allwork); 
     for(var i = 0; i < callback.allwork.length; i++) { 
      if(callback.allwork[i].name == "zingzong"){ 

      console.log(callback.allwork[i].json); 

     } 
    } 
//socket.emit('callback_allwork', callback.allwork); 
    } 
    }); 
    }); 
olduğu

Bu arabelleği, özgün olarak kaydettiğim json yerine ikili verilerle günlüğe kaydeder.

Bu

Sen json: String için json: Object değişmelidir json

     callback.allwork.push({ 
       protocol : a.user.project.protocol, 
       name : a.user.project.name, 
       json : a.user.project.json 
      }) 

       callback.save(function (err) { 
       if(!err) { 
        global.mess = "Project save succesfully" ; 
        return; 
        } 

         }); 
+0

Tamponun görünümü 0a 7b 0a 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 66 6c 61 72 65 22 2c 0a 20 20 20 20 22 63 68 69 6c 64 72 65 6e 22 3a 20 5b 7b 0a 20 20 20 20 20 20 20 ...>} – Batman

+0

Bize bir kod göster, verileri nasıl saklıyor ve karşılıyorsunuz? – Martin

+0

Kodunuzu gösterin, amacınız JSON girişini metinsel veri olarak saklamaktır? –

cevap

0

kurtarmak için işlevidir. Dize size istediğiniz şeyi verecektir, metin, ikili değil. Mongoose şema türleri hakkında daha fazla bilgi için this page'a bakın.

Sadece bir metin alanı değil yapısal bir seçenek istiyorsanız, Schema.Types.Mixed numaralı telefonu kullanmayı düşünün. Bunu veritabanında nasıl kullanacağınızı bilmediğimden, String veya Schema.Types.Mixed'un sizin için en uygun olup olmadığını size söyleyemem. Bununla birlikte, String'a yapışırdım.

+0

Verileri hala ikili olarak alıyorum. Mongodb, belgeyi BSON'a dönüştürür. Dize veya jsonu bir fark yaratmaz. – Batman

+0

@Batman Lütfen sorunuzu, belgenin kaydedildiği bölümüne ekleyin. –