小编Dav*_*iha的帖子

解析服务器:如何使这个查询高效?

我有一个Message类 - 它包含一个群发消息,可以按需提供给许多用户,但每个用户只需要一次,当他需要新消息时.我怎样才能确保用户在交付后再也不会再次获取它?


IDEA#1: Message.deliveredTo将是一个Relation_User物体.在Message交付给用户之后,他将自己添加到了Message.deliveredTo Relation.

当用户以后寻找未送达时Messages,他会找到Messages除了他所在的所有人之外的所有人deliveredTo Relation:

var messagesQuery = new Parse.Query("Message");
messagesQuery.notEqualTo("deliveredTo", request.user);
messagesQuery.find() ...
Run Code Online (Sandbox Code Playgroud)

IDEA#2: <messageId>_delivered是在Role创建Messageid时<messageId>创建的.该MessageACL-read是残疾人Role.在Message交付给用户之后,他将自己添加到了<messageId>_delivered Role.

当用户以后寻找未送达时Messages,他会找到Messages除了他所在的所有人之外的所有人<messageId>_delivered Role:

var messagesQuery = new Parse.Query("Message");
messagesQuery.find({ sessionToken: request.user.getSessionToken() }) ...
Run Code Online (Sandbox Code Playgroud)

IDEA#3: DeliveredMessage是一个班级.在将a Message传递给用户之后,他DeliveredMessage使用包含用户message …

parse-platform parse-server

7
推荐指数
1
解决办法
178
查看次数

为什么 .Select 将 Enumerable.Empty 更改为 System.Linq.EmptyPartition?

看这个例子:

IEnumerable<string> en = Enumerable.Empty<string>(); //{string[0]}
var enSelected = en.Select(id => id);                //{System.Linq.EmptyPartition<string>}
var list = en as IList<object>;                      //{string[0]}
var listSelected = enSelected as IList<object>;      //null
Run Code Online (Sandbox Code Playgroud)

.Select为什么在空枚举上使用会改变它的类型?这可能是 LINQ 中的错误吗?

什么是偶数System.Linq.EmptyPartition?我没有找到任何有关此类型的文档,并且它也不能直接在代码中使用。

我正在使用 Visual Studio 2017 15.4.2,这发生在 Xamarin.iOS 项目上。您能否在您的环境中测试一下,以便我们看看这是否特定于我的环境?

c# linq visual-studio xamarin.ios xamarin

5
推荐指数
1
解决办法
3047
查看次数

解析服务器,MongoDB - 获取对象的"喜欢"状态

我正在使用在MongoDB上运行的Parse Server.

假设我有集合User以及Comment用户和评论的连接表.用户可以喜欢注释,这会在连接表中创建新记录.

特别是在Parse Server中,可以使用集合中的"关系"字段定义连接表.

现在,当我想要检索所有评论时,我还需要知道当前用户是否都喜欢它们.如何在不进行其他查询的情况下执行此操作?

你可能会说我可以likersComment表中创建一个数组字段并使用$elemMatch,但这似乎不是一个好主意,因为可能会有数千个评论喜欢.

我的想法,但我希望有更好的解决方案:

我可以在表中创建一个数组字段someLikers,一个关系(连接表)字段allLikers和一个数字字段.然后把第一个100个likers在这两个和的和额外的likers只在.我会一直增加.likesCountCommentsomeLikersallLikersallLikerslikesCount

然后在查询注释列表时,我会实现调用$elemMatch,这将告诉我当前用户是否在内部someLikers.当我得到评论时,我会检查一些评论是否有likesCount > 100AND $elemMatch返回null.如果是这样,我将不得不在连接表中运行另一个查询,查找这些注释并检查(查询)当前用户是否喜欢它们.

有更好的选择吗?

谢谢!

database mongodb parse-platform mongodb-query parse-server

5
推荐指数
1
解决办法
424
查看次数

如何在模拟器上测试 Android Q 手势导航?

有什么方法可以在 Android Emulator 上测试新的手势导航吗?

我创建了x86 Pixel 3a XL Android 10.0 (without Google APIs)模拟器,它有标准的导航栏,在 中Settings > System > Gestures,没有启用基于手势的导航或隐藏导航栏的选项。

我究竟做错了什么?

android android-10.0

3
推荐指数
1
解决办法
781
查看次数