我正在开发应用程序的消息传递部分。
我有schema
代表对话。它包含一个ObjectId
数组,每个ObjectId
引用一条消息。
我希望用户向我的API发送消息_id
,以便我可以检索阵列上的所有消息_id
, 后发送的消息。
所以他可以用他还没有的所有消息进行更新。
我可以在_id
数组中找到他messages: [ObjectId]
在public void onTokenRefresh() {
// Get updated InstanceID token.
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
Log.d(TAG, "Refreshed token: " + refreshedToken);
// TODO: Implement this method to send any registration to your app's servers.
sendRegistrationToServer(refreshedToken);
数组中的位置吗?
答案 0 :(得分:2)
Mongo不支持在服务器上使用此类查询,因此如果采用这种方法,则必须在应用程序中执行此操作。
您可能想要考虑其他可能的架构。首先,在您拥有最后一个ObjectId的位置后,您将如何进行后续查询?您可以使用_id中编码的时间戳直接查询消息集合,以仅返回更新的消息:
db.messages.find({_id: {$gt: lastViewedMessage._id}})