Chào mọi người
Tôi đang cố gắng chèn đối tượng lồng nhau của mình vào Realm với phương thức To-One Relationships , nhưng tôi nhận được một kết quả không mong muốn trong đó tất cả giá trị của đối tượng lồng nhau của tôi giống với giá trị từ đối tượng lồng nhau đầu tiên của tôi đã được Mối quan hệ
Đây là giản đồ của tôi trông giống như
const PhotoSchema = {
name: 'CUSTOMER_PHOTOS',
properties: {
base64: 'string'
}
};
const TimeSchema = {
name: 'CUSTOMER_TIMES',
properties: {
warranty: 'float',
finish: 'float'
}
};
const MainSchema = {
name: 'CUSTOMERS',
primaryKey: 'id',
properties: {
id: 'int',
name: 'string',
photo: {type: 'CUSTOMER_PHOTOS'},
time: {type: 'CUSTOMER_TIMES'},
}
};
Và cố gắng chèn một số dữ liệu như thế này
import Realm from 'realm';
Realm.open({
path: 'mydb.realm',
schema: [PhotoSchema, TimeSchema, MainSchema]
})
.then((realm) => {
realm.write(() => {
realm.create('CUSTOMERS', {
id: Date.now(),
name: 'John',
photo: {
base64: 'ImageBase64'
},
time: {
warranty: 31,
finish: 7
}
})
})
})
.catch((error) => {
console.error(error)
});
Quá trình chèn dữ liệu thành công NHƯNG tôi nhận được kết quả không mong đợi khi lấy thành công dữ liệu đó từ Realm
Kết quả không mong muốn trong console.log ()
{
id: 1601335000882,
name: "John",
photo: {
base64: "ImageBase64"
},
// This value is the same as PhotoSchema
time: {
base64: "ImageBase64"
}
}
Tôi muốn kết quả thực tế như thế này
{
id: 1601335000882,
name: "John",
photo: {
base64: "ImageBase64"
},
time: {
warranty: 21
finish: 7
}
}
Tôi có bất cứ điều gì sai với mã của tôi? Các tài liệu không phải là quá chi tiết về phương pháp, giải thích và ví dụ này là giống như một từ
CẬP NHẬT:
Tôi chỉ nhận được một kết quả không mong muốn trong console.log()
và nếu tôi cố gắng truy cập trực tiếp MY_DATA.time.warranty
vào thuộc tính thì kết quả là những gì tôi mong đợi
Câu trả lời là không
Phương pháp Mối quan hệ To-One không chỉ dành cho một Lược đồ, và Cảm ơn Angular San đã đưa ra một ví dụ về phương pháp Mối quan hệ nghịch đảo.