【发布时间】:2021-12-02 20:44:36
【问题描述】:
我正在尝试制作一个 facebook 克隆应用程序。 从一开始,我就需要定义一个用户类。 我被困在这里,每个用户,都应该有关注者列表和关注者列表。它是如何制作这个模型的? 能否请您看一下我的代码,在此先感谢您!!
@Entity(tableName="user_table")
@Parcelize
data class User(
@PrimaryKey(autoGenerate = true)
val userId : Int=0 ,
val username :String,
val email :String,
val password : String,
var followers: Array<User>?,
var followings: Array<User>?,
) : Parcelable
data class UserResponse(val user:User?)
另外,我附上了我的 node.js 模型架构:
const mongoose = require('mongoose');
const router = require("express").Router();
const userSchema = new mongoose.Schema({
username:{
type:String,
required : true,
min:3,
max:50,
},
email:{
type:String,
required:true,
unique:true
},
password:{
type:String,
required : true,
},
profilePicture:{
type:String,
default:''
},
coverPicture:{
type : String,
default:''
},
followers:{
type:Array,
default :[]
},
followings:{
type:Array,
default:[]
},
isAdmin:{
type:Boolean,
default : false
}
},
{timestamps:true}
);
const User = mongoose.model('User',userSchema);
exports.userSchema = userSchema;
exports.User = User;
【问题讨论】:
-
你得到什么错误?
-
嗨罗宾,它没有出现错误,只是出现类似警告的东西,它需要生成哈希码。在我关注它之后,警告被删除了。但是,我不确定我是否有以正确的格式写,我把它贴在这里征求你们的意见。你怎么看?我的代码有问题吗?非常感谢!
-
我会使用
List<User>?而不是Array<User>?,因为它们更容易使用,我也可能会删除?,因为响应默认为empty list而不是null在 Kotlin 中没问题,所以List<User>就足够了 -
将网络响应模型与数据库实体分开可能是个好主意。目前这是设置方式,进行与数据库无关的更改将迫使您迁移
-
非常感谢罗宾的建议!
标签: kotlin