How to get binary data in realm

Hello,

I have binary data which has been uploaded using the gridfs, and I was wondering how to download that data in C# using realm. I cant seem to get the schema and related class model correctly aligned,

thank you!

I have binary data

We need a bit more (bit - LOL!) to go on.

What have you tried? What’s preventing that data from being read/written. Can you include the schema you tried? Do you have some code you can include so we understand what you’re attempting to do.

1 Like

Hey,

thanks for replying,

so currently i am stuck on two things: getting arrays and binary data from mongo using realm. the data is initially sent to the database using the mongodb driver and not realm.

Binary Data problem below:

Schema Data:

{
  "bsonType": "object",
  "properties": {
    "_id": {
      "bsonType": "objectId"
    },
    "files_id": {
      "bsonType": "objectId"
    },
    "n": {
      "bsonType": "int"
    },
    "data": {
      "bsonType": "binData"
    },
    "_partition": {
      "bsonType": "string"
    }
  },
  "required": [
    "_id",
    "_partition"
  ],
  "title": "fschunks"
}

Class Data:

    public class File: RealmObject
    {
        [PrimaryKey]
        [MapTo("_id")]
        public ObjectId Id { get; set; } = ObjectId.GenerateNewId();

        [MapTo("files_id")]
        public ObjectId Id1 { get; set; } = ObjectId.GenerateNewId();

        [MapTo("n")]
        public int n { get; set; }

        [MapTo("data")]
        public IList<byte> date { get; set; }

        [MapTo("_partition")]
        [Required]
        public string Partition { get; set; }
    }

Example Atlas Data:

{“_id”:{“$oid”:“61fbd5fac5044118eee4f261”},“files_id”:{“$oid”:“61fbd5f9c5044118eee4f260”},“n”:{“$numberInt”:“0”},“data”:{“$binary”:{“base64”:“UHJvYmUgVHlwZTtEaXNwbGFjZW1lbnQgUHJvYmU7DQpWZXJzaW9uOzE7DQpEcml2ZXIgTmFtZTsgUlBNIFByb2JlIDMgQXJtOw0KUHJvYmUgTmFtZTsgS2ltaTsNClJhdyBEYXRhIENvdW50OzQ7DQpCYXVkIFJhdGU7IDMwMDsNCkRhdGEgUmF0ZTswLjA1Ow0KRGlhbWV0ZXIgT3ZlciBQcm9iZTsgNDY7DQpEaWFtZXRlciBVbmRlciBNZW1iZXJhbmU7IDM4Ljc7DQpDSEwgVGhpY2tuZXNzOyAwLjU7DQpNdWx0aXBsZSBUUEM7RmFsc2U7DQpQUEM7IEZhbHNlOw0KQ29tcGFzcztGYWxzZTsNCkN5bGluZGVyIFNsb3Blczs1LjMsMC43LDAuOSwwLjY0Ow0KTWF4IERpc3BsYWNlbWVudDsxMDsNCk1heCBQcmVzc3VyZTsxMDsNCkNhbGlicmF0aW9uIERpc3BsYWNlbWVudCBTdGVwczsxOw0KQ2FsaWJyYXRpb24gUHJlc3N1cmUgU3RlcHM7MTsNCkxpbmVhcml0eUN1dE9mZkxvd2VyOzk3Ow0KTGluZWFyaXR5Q3V0T2ZmSGlnaGVyOzEwMzsNCkh5c3RlcmlzaXNDdXRPZmZMb3dlcjstMC41Ow0KSHlzdGVyaXNpc0N1dE9mZkhpZ2hlcjswLjU7DQoqDQpSYXcgRGF0YSBEZWZpbml0aW9uOyAxOw0KUmF3IERhdGEgRGVmaW5pdGlvbiBTdHJpbmcgTGVuZ2g7ODsNClJhdyBEYXRhIE5hbWU7IEFybSAxOw0KRGF0YSBUeXBlOyBEaXNwbGFjZW1lbnQ7DQpJZGVudGlmaWVyOyBSYXcgQXJtIDE7DQpSYXcgRGF0YSBEZWZpbml0aW9uOyAyOw0KUmF3IERhdGEgRGVmaW5pdGlvbiBTdHJpbmcgTGVuZ2g7ODsNClJhdyBEYXRhIE5hbWU7IEFybSAyOw0KRGF0YSBUeXBlOyBEaXNwbGFjZW1lbnQ7DQpJZGVudGlmaWVyOyBSYXcgQXJtIDI7DQpSYXcgRGF0YSBEZWZpbml0aW9uOyAzOw0KUmF3IERhdGEgRGVmaW5pdGlvbiBTdHJpbmcgTGVuZ2g7ODsNClJhdyBEYXRhIE5hbWU7IEFybSAzOw0KRGF0YSBUeXBlO0Rpc3BsYWNlbWVudDsNCklkZW50aWZpZXI7IFJhdyBBcm0gMzsNClJhdyBEYXRhIERlZmluaXRpb247IDQ7DQpSYXcgRGF0YSBEZWZpbml0aW9uIFN0cmluZyBMZW5naDs4Ow0KUmF3IERhdGEgTmFtZTsgVFBDIEE7DQpEYXRhIFR5cGU7IFByZXNzdXJlOw0KSWRlbnRpZmllcjsgUmF3IFRQQyBBOw0KKg0KQ2FsaWJyYXRlZCBEYXRhIERlZmluaXRpb247MTsNCkNhbGlicmF0ZWQgRGF0YSBOYW1lO0FybSAxOw0KRGF0YSBUeXBlO0Rpc3BsYWNlbWVudDsNCklkZW50aWZpZXI7QXJtIDE7DQpDYWxpYnJhdGVkIERhdGEgRGVmaW5pdGlvbjsyOw0KQ2FsaWJyYXRlZCBEYXRhIE5hbWU7QXJtIDI7DQpEYXRhIFR5cGU7RGlzcGxhY2VtZW50Ow0KSWRlbnRpZmllcjtBcm0gMjsNCkNhbGlicmF0ZWQgRGF0YSBEZWZpbml0aW9uOzM7DQpDYWxpYnJhdGVkIERhdGEgTmFtZTtBcm0gMzsNCkRhdGEgVHlwZTtEaXNwbGFjZW1lbnQ7DQpJZGVudGlmaWVyO0FybSAzOw0KQ2FsaWJyYXRlZCBEYXRhIERlZmluaXRpb247NDsNCkNhbGlicmF0ZWQgRGF0YSBOYW1lO1ByZXNzdXJlIG9mIFRQQyBBOw0KRGF0YSBUeXBlO1ByZXNzdXJlOw0KSWRlbnRpZmllcjtUUEMgQTsNCioNCkRhdGEgVmlldyBOYW1lO0F2ZXJhZ2U7DQpEYXRhIFZpZXcgQ291bnQ7MDsNClggQXhpcyBUZXh0O0Rpc3BsYWNlbWVudCAobW0pOw0KWSBBeGlzIFRleHQ7UHJlc3N1cmUgKEtQYSk7DQpEYXRhIFZpZXcgTmFtZTtBbGwgQXJtczsNCkRhdGEgVmlldyBDb3VudDsxLDIsMzsNClggQXhpcyBUZXh0O0Rpc3BsYWNlbWVudCAobW0pOw0KWSBBeGlzIFRleHQ7UHJlc3N1cmUgKEtQYSk7DQoqDQpEYXRhIFZpZXc7MDsNCkRhdGEgTmFtZTtBdmVyYWdlOw0KRGF0YTtBcm0gMSZBcm0gMiZBcm0gMzpUUEMgQTsNCkNvbG91cjsjRkYwMDAwOw0KRGF0YSBWaWV3OzE7DQpEYXRhIE5hbWU7QXJtIDE7DQpEYXRhO0FybSAxOlRQQyBBOw0KQ29sb3VyOyMwMEZGMDA7DQpEYXRhIFZpZXc7MjsNCkRhdGEgTmFtZTtBcm0gMjsNCkRhdGE7QXJtIDI6VFBDIEE7DQpDb2xvdXI7IzgwMDBmZjsNCkRhdGEgVmlldzszOw0KRGF0YSBOYW1lO0FybSAzOw0KRGF0YTtBcm0gMzpUUEMgQTsNCkNvbG91cjsjNjYwMDAwOw0KKg0KTmFtZTtQcm9qZWN0IFRpdGxlOw0KTmFtZTtTaXRlIE5hbWU7DQpOYW1lO01haW4gQ29udHJhY3RvcjsNCk5hbWU7T3ZlcmFsbCBDbGllbnQ7DQpOYW1lO0NvbnRyYWN0IEVuZ2luZWVyOw0KTmFtZTtPcGVyYXRvcjsNCk5hbWU7VGVzdCBJRDsNCk5hbWU7Qm9yZWhvbGU7DQpOYW1lO01hdGVyaWFsOw0KTmFtZTtUb3AgT2YgUG9ja2V0IERlcHRoIChtKTsNCk5hbWU7Qm90dG9tIE9mIFBvY2tldCBEZXB0aCAobSk7DQpOYW1lO1Rlc3QgQ2VudGVyIERlcHRoIChtKTsNCk5hbWU7SW5zZXJ0aW9uIFRlY2huaXF1ZTsNCk5hbWU7T2JzZXJ2ZXJkIFdhdGVyIExldmVsIChtKTsNCk5hbWU7RGF0ZTsNCk5hbWU7VGVzdCBTdGFydDsNCk5hbWU7VGVzdCBFbmQ7DQpOYW1lO01heCBQcmVzc3VyZSAoa1BhKTsNCk5hbWU7UmVtYXJrczsNCk5hbWU7RWFzdGluZzsNCk5hbWU7Tm9ydGhpbmc7DQpOYW1lO0VsZXZhdGlvbjsNCioNCk5hbWU7UHJvYmUgTmFtZTsNCk5hbWU7RWxlY3Ryb25pY3MgQ2FuOw0KTmFtZTtTZXJpYWwgTnVtYmVyOw0KTmFtZTtUcmFuc2R1Y2VyIENhbCBPcGVyYXRvcjsNCk5hbWU7VHJhbnNkdWNlciBDYWwgRGF0ZTsNCk5hbWU7VHJhbnNkdWNlciBDYWwgUmVmOw0KTmFtZTtNZW0gQ2FsIE9wZXJhdG9yOw0KTmFtZTtNZW0gQ2FsIERhdGU7DQpOYW1lO01lbWJyYW5lIFN0aWZmbmVzcyBDYWwgUmVmOw0KTmFtZTtTeXN0ZW0gU3RpZmZuZXNzIENhbCBSZWY7DQpOYW1lO05vdGVzOw0KKg0KTmFtZTtBcm0gMSBaZXJvIChtVik7DQpOYW1lO0FybSAxIFNsb3BlIChtVi9tbSk7DQpOYW1lO0FybSAyIFplcm8gKG1WKTsNCk5hbWU7QXJtIDIgU2xvcGUgKG1WL21tKTsNCk5hbWU7QXJtIDMgWmVybyAobVYpOw0KTmFtZTtBcm0gMyBTbG9wZSAobVYvbW0pOw0KTmFtZTtUUENBIFplcm8gKG1WKTsNCk5hbWU7VFBDQSBTbG9wZSAobVYvTVBhKTsNCioNCk5hbWU7TWVtYnJhbmUgWmVybyAoa1BhKTsNCk5hbWU7TWVtYnJhbmUgU2xvcGUgKGtQYS9tbSk7DQpOYW1lO01lbWJyYW5lIENvbXBsaWFuY2UgKG1tL0dQYSk7DQoqDQoq”,“subType”:“00”}},“_partition”:“mypart”}

Array Data problem below:

Schema Data:
{
  "bsonType": "object",
  "properties": {
    "_id": {
      "bsonType": "objectId"
    },
    "LiveTest": {
      "bsonType": "string"
    },
    "DriverName": {
      "bsonType": "string"
    },
    "User": {
      "bsonType": "string"
    },
    "Data": {
      "bsonType": "array", "Items":{ "bisonType" : "string" },
    },
    "_partition": {
      "bsonType": "string"
    }
  },
  "required": [
    "_id",
    "_partition"
  ],
  "title": "LiveDataSetupDesktop"
}

Class Data:

    public class LiveDataSetupDesktop : RealmObject
    {
        [PrimaryKey]
        [MapTo("_id")]
        public ObjectId Id { get; set; } = ObjectId.GenerateNewId();

        [MapTo("LiveTest")]
        public string Name { get; set; }

        [MapTo("DriverName")]
        public string Driver { get; set; }

        [MapTo("User")]
        public string User { get; set; }

        [MapTo("Data")]
        public IList<string> Data { get; }

        [MapTo("_partition")]
        [Required]
        public string Partition { get; set; }
    }

Example Atlas Doc:

{“_id”:{“$oid”:“6203a204910027c9de3057c4”},“TestName”:“LiveDataSetupDesktop”,“DriverName”:“RPM.txt”,“User”:“Isaac”,“Data”:[“-10.7”,“1”,“-8.2”,“2”,“-18.2”,“3”,“-3.9”,“4”,“1”,“2”,“3”],“_partition”:“myPart”}

thank you !!

Well, this may be the issue

public IList<byte> date { get; set; }

that should be data, not date.

If that’s not the issue, can you include the code you’ve attempted to retrieve the data from Realm?