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之前被检索。您的解决方案仍然有效吗?老实说,我从未测试过,但我认为它有效,因为: