插入顺序是否以“一对多”关系保留?

时间:2019-06-05 17:17:10

标签: javascript database parse-platform

我需要知道在执行查询时是否保留了一对多关系数据在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

我已经进行了一些测试并且可以正常工作,但是我需要知道解析服务器是否可以确保此顺序。

1 个答案:

答案 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"));
  }
});