【发布时间】:2020-04-16 11:44:23
【问题描述】:
我正在尝试使用 react native(和 nodeJS、mongoDB、socketIO)构建(离线优先)聊天应用程序。
我想问一下获取好友列表的最佳(优化)方式是什么。
我的用户模型结构:
mongoose.Schema({
phoneNumber: Number,
friends: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
}],
})
作为 json
[
{
"_id": ObjectId("5e91bcd6cd1630213d95f810"),
"phoneNumber": "+995555555555",
"friends": [
ObjectId("5e57d64d92cc878760086980"),
ObjectId("5e57d64d92cc878760086981")
]
},
...
]
我目前的方法是在用户启动应用程序时从 api 获取好友列表并保存到 localStorage。因此,即使用户处于离线状态,用户也可以查看好友列表。
我担心的是,如果有 1000 个用户,而他们的好友列表中有 200 个用户,那么通话费用会很高。
我只能在用户添加朋友时更新localStorage,但用户将无法看到朋友是否更改了他们的头像或用户名等。
那么,保持最新朋友列表的最佳方式是什么?
【问题讨论】:
-
嘿@Kakajann 你有什么进展吗?
标签: node.js mongodb react-native offline-caching