Parse(js)和嵌套查询中的一对多关系
One to many relationship in Parse(js) and nested queries
我在Parse(js)中创建一对多关系并查询结果时遇到问题。
我有一张餐桌和一张菜单桌。一家餐厅可以有许多菜单项,它们的定义如下:
餐厅餐桌
restaurant_name(字符串)
地址(字符串)
菜单表
menu_item_name(字符串)
餐厅(指向餐厅餐桌)
我该如何展示所有的餐厅和各自的菜单项?
现在我显示的是console.log(),但我不知道该怎么做。下面是我使用的代码。
<script>
function getRestaurants(){
Parse.initialize("...", "...");
var Restaurant = Parse.Object.extend("Restaurant");
var Menu = Parse.Object.extend("Menu");
var query = new Parse.Query(Restaurant);
query.find({
success:function(results){
for(var i in results){
//second loop- for menu items
var query2 = new Parse.Query(Menu);
query2.include("restaurant");
query2.find({
success:function(results2){
for(var j in results2){
if(results[i] == results2[j].get("restaurant");){
//display restaurant name and all menu items
}
}
}, error: function(error){
console.log("Query Error"+error.message);
}
});
}
},
error: function(error){
console.log("Query Error"+error.message);
}
});
}
getRestaurants();
</script>
编辑1
作为概念的证明,我想在控制台上显示这一点——注意:这个例子假设桌子上有3个餐厅,每个餐厅都包含2个菜单项。情况并非总是如此;餐馆的数量和菜单项目的数量并不是一成不变的:
餐厅名称1
-菜单项名称1
-菜单项名称2
餐厅名称2
-菜单项名称1
-菜单项名称2
餐厅名称3
-菜单项名称1
-菜单项名称2
不要单独查询Restaurant
类。您只需要查询Menu
类并在restaurant
指针字段上使用include
。这将确保你有所有的菜单项目,以及完整的餐厅详细信息。
你应该写这样的东西:
var myQuery = new Parse.Query(Parse.Object.extend("Menu"));
myQuery.include("restaurant");
var myCollection = [];
myQuery.find({
success: function(results){
for(var i = 0; i < results.length; ++i)
{
// This will get you the restaurant name
var rest_name = results[i].get("restaurant").attributes.restaurant_name;
if(!myCollection[rest_name])
{
// This is the first menu item encountered belonging to this restuarant
// Instantiate the array
myCollection[rest_name] = [];
}
else
{
// You have already encountered a menu item belonging to this restaurant before
// Do nothing
}
myCollection[rest_name].push(results[i].get("menu_item_name"));
}
// This will give you the arrays all filled up with data and you can show it in whatever way you want.
}
});
编辑:我使用了一个数组来存储餐厅的动态信息。
相关文章:
- 如何在Parse中创建一对多关系
- Ember数据一对多关系不起作用
- 解析-在数组一对多关系中获取父项及其子项
- 集合作为 EmberJS 中的属性?(一对多关系)
- 我将如何解决余烬数据中的这种一对多态关系
- 与 RequireJS 和 Backbone 的一对多和一对一关系
- 续集JS:包括一对多关系船
- 帆.js:模型本身的一对多关系
- 流星:如何使关系一对多
- 对于具有一对多关系的主干模型,存储“;许多“;数组中的模型,而不是Collection
- 一对多关系的简单解析查询
- knex js-一对多关系
- Parse(js)和嵌套查询中的一对多关系
- 一对多关系——变量所有者集合属性
- 如何在一对多关系中创建对象
- 如何使用Sails 0.10.x在一对多关系中引用关联模型
- 在MEAN Stack中填充MongoDB的一对多关系
- AngularJS——一个更简单的绑定一对一和一对多关系的方法
- Django,查询一对多关系的简单方法
- 一对多关系显示为ajax结果