我需要知道在执行查询时是否保留了一对多关系数据在Parse对象中插入的顺序。所以如果我运行这个:
var Post = Parse.Object.extend("Post");
var post2 = new Post();
post2.set("title", "Second Post");
var post1 = new Post();
post1.set("title", "First Post");
var user = Parse.User.current();
var relation = user.relation("likes");
relation.add(post1);
relation.add(post2);
user.save();
然后以这种方式查询用户的帖子:
var user = Parse.User.current();
var relation = user.relation("likes");
relation.query().find().then(result => {
for (const post of result) {
console.log(post.get("title"));
}
});
上面的代码是否总是打印?
First Post
Second Post
我已经进行了一些测试并且可以正常工作,但是我需要知道解析服务器是否可以确保此顺序。
答案 0 :(得分:0)
Parse Server无法确保顺序。如果要按特定顺序检索,则应使用ascending()
或descending()
。例如,如果要按创建时的相同顺序进行检索,则应该执行以下操作:
var user = Parse.User.current();
var relation = user.relation("likes");
var query = relation.query();
query.ascending("createdAt");
query.find().then(result => {
for (const post of result) {
console.log(post.get("title"));
}
});