Arangodb 无法从数据集中提取要比较或应用筛选器的对象值
我正在试着解决上的问题22。数据集是 Q.22编写MongoDB查询,查找在众多调查日期中,在ISODate“2014-08-11T00:00:00Z”中得分为“a”和11分的餐厅Id、名称和等级 数据格式如下:Arangodb 无法从数据集中提取要比较或应用筛选器的对象值,arangodb,aql,Arangodb,Aql,我正在试着解决上的问题22。数据集是 Q.22编写MongoDB查询,查找在众多调查日期中,在ISODate“2014-08-11T00:00:00Z”中得分为“a”和11分的餐厅Id、名称和等级 数据格式如下: [ { "_key": "2451925", "_id": "restaurants/2451925", "_rev": "_buC4Kd2---&
[
{
"_key": "2451925",
"_id": "restaurants/2451925",
"_rev": "_buC4Kd2---",
"address": {
"building": "1007",
"coord": [
-73.856077,
40.848447
],
"street": "Morris Park Ave",
"zipcode": "10462"
},
"borough": "Bronx",
"cuisine": "Bakery",
"grades": [
{
"date": {
"$date": 1393804800000
},
"grade": "A",
"score": 2
},
{
"date": {
"$date": 1378857600000
},
"grade": "A",
"score": 6
},
{
"date": {
"$date": 1358985600000
},
"grade": "A",
"score": 10
},
{
"date": {
"$date": 1322006400000
},
"grade": "A",
"score": 9
},
{
"date": {
"$date": 1299715200000
},
"grade": "B",
"score": 14
}
],
"name": "Morris Park Bake Shop",
"restaurant_id": "30075445"
},
{
"_key": "2451926",
"_id": "restaurants/2451926",
"_rev": "_buC4Kd2--A",
"address": {
"building": "469",
"coord": [
-73.961704,
40.662942
],
"street": "Flatbush Avenue",
"zipcode": "11225"
},
"borough": "Brooklyn",
"cuisine": "Hamburgers",
"grades": [
{
"date": {
"$date": 1419897600000
},
"grade": "A",
"score": 8
},
{
"date": {
"$date": 1404172800000
},
"grade": "B",
"score": 23
},
{
"date": {
"$date": 1367280000000
},
"grade": "A",
"score": 12
},
{
"date": {
"$date": 1336435200000
},
"grade": "A",
"score": 12
}
],
"name": "Wendy'S",
"restaurant_id": "30112340"
}]
我正试图过滤掉上面给定的ISODate的日期。我正在使用date_timestamp函数将上述内容转换为数据中存储日期的方式
我无法过滤日期,因为它们似乎被包装在{“$date”:1393804800000}中。在g中尝试循环表示找到的是对象,而不是集合或数组。应用筛选器并检查与日期的相等性_timestamp()返回空值[]、[]等数组
for r in restaurants
for g in r.grades
let d=date_timestamp("2014-08-11T00:00:00Z")
return {date:g.date,target_date:d}
请帮助,谢谢您必须筛选对象内的字段:
LET target_date = DATE_TIMESTAMP('2014-08-11T00:00:00Z')
FOR r IN restaurants
FOR g IN r.grades
FILTER g.date.$date == target_date
RETURN {date: g.date}
它应该是:
FILTER g.date.$date==date\u TIMESTAMP('2014-08-11T00:00:00Z')
。天哪,我真不敢相信我同时离得这么近又那么远!谢谢你的帮助。你能不能再次发布解决方案,请让我可以标记它已解决,并给你的帮助应有的信用。非常感谢,你不知道