学生数据库访问-couchdb
我想创建一个学生数据库,其中包含有关学生的详细信息-id、姓名、地址、成绩单、电话等。 我创建了一个这样的结构:学生数据库访问-couchdb,couchdb,couchdb-futon,Couchdb,Couchdb Futon,我想创建一个学生数据库,其中包含有关学生的详细信息-id、姓名、地址、成绩单、电话等。 我创建了一个这样的结构: { "ssn" : "121-23-1232", "name": "Grace Johnson", "address": [ {"Street Address": "190 Pinehill place", "City": "Belmont", "State": "CA", "ZipCode": "08250" } ], "
{
"ssn" : "121-23-1232",
"name": "Grace Johnson",
"address": [
{"Street Address": "190 Pinehill place",
"City": "Belmont",
"State": "CA",
"ZipCode": "08250"
}
],
"phone": "605-123-1111",
"transcript": [
{"Math":"B",
"English":"A",
"Physics": "B",
"Psychology": "C",
"Physical Education": "A"
}
]
}
function(doc){
if(doc.address){
emit([doc.address.city, doc.address.state], doc.name)
}
}
然而,如果我希望能够接触到居住在某个特定城市的学生,那么这种创作方法正确吗?我该怎么写呢?
还假设我想让所有获得物理A的学生
非常感谢您的帮助。如果您想输出居住在特定城市的所有学生,您的地图功能可以如下所示:
{
"ssn" : "121-23-1232",
"name": "Grace Johnson",
"address": [
{"Street Address": "190 Pinehill place",
"City": "Belmont",
"State": "CA",
"ZipCode": "08250"
}
],
"phone": "605-123-1111",
"transcript": [
{"Math":"B",
"English":"A",
"Physics": "B",
"Psychology": "C",
"Physical Education": "A"
}
]
}
function(doc){
if(doc.address){
emit([doc.address.city, doc.address.state], doc.name)
}
}
这将把住在城市里的所有学生聚集在一起。因此,您可以执行此GET请求来查找居住在特定城市的学生:
GET /<viewUrl?start_key=[Belmont,CA]
GET/你能告诉我为什么当我运行你编写的第一个函数时,我会得到[null,null]作为密钥。它似乎没有返回doc.address.city或doc.address.state的任何内容。我想让所有物理成绩为A的学生-在你给我的解决方案中,我们在哪里检查doc.transcript.Physics='A'的条件?你能告诉我怎么写吗。它可以作为if条件包含在函数(doc)中。谢谢你的帮助。我添加了一个GET请求,你可以通过告诉Coach你想要什么钥匙来获得所有物理A的学生。很抱歉听起来这么无知,但这是我在Couchdb工作的第一周,我有一个作业要完成。如果我使用Futon,我在哪里写GET命令呢?不用担心!我不认为您可以在Futon中指定查询参数,但您可以单击查看页面导航栏右角的灰色箭头——它将带您到该视图的URL,您可以在地址栏中添加参数。