Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 插入顺序是否保留在一对多解析关系中?_Javascript_Database_Parse Platform - Fatal编程技术网

Javascript 插入顺序是否保留在一对多解析关系中?

Javascript 插入顺序是否保留在一对多解析关系中?,javascript,database,parse-platform,Javascript,Database,Parse Platform,我需要知道在执行查询时,在解析对象中插入一对多关系数据的顺序是否保持不变。所以如果我运行这个: 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 relat

我需要知道在执行查询时,在解析对象中插入一对多关系数据的顺序是否保持不变。所以如果我运行这个:

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

我已经执行了一些测试,并且成功了,但是我需要知道这个顺序是否由解析服务器保证。

解析服务器不保证顺序。如果要按特定顺序检索,应使用
升序()
降序()
。例如,如果要按创建顺序检索,应执行以下操作:

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

解析服务器无法确保顺序。如果要按特定顺序检索,应使用
升序()
降序()
。例如,如果要按创建顺序检索,应执行以下操作:

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

很好,但是,我需要按插入顺序检索,即使相关的对象是在不同的对象中创建的,例如,在我的示例中,如果我还原了Post创建(在post1之前创建post2),但仍然在post2之前添加post1,那么我仍然希望post1在post2之前被检索。您的解决方案仍然有效吗?老实说,我从未测试过,但我认为它是有效的,因为:非常好,但是,即使相关的对象是在不同的对象中创建的,我也需要按插入顺序进行检索,例如,在我的示例中,如果我还原Post创建(在post1之前创建post2),但仍然在post2之前添加post1,然后我仍然希望post1在post2之前被检索。您的解决方案仍然有效吗?老实说,我从未测试过,但我认为它有效,因为: