PDA

View Full Version : جسته جو در ارایه در منگو دیبی



A.ardalan far
یک شنبه 26 مرداد 1393, 11:38 صبح
سلام و خسته نباشید
میخواستم در یک ارایه در ساختار منگودیبی جسته جو کنم و یکسری نتایج رو برام بیاره مثلا ارایه پایین


"test" : [
[
56,
27,
1406896875.37
],
[
57,
28,
1406896875.38
]
]


هدفم اینه که مثلا با جسته جو اندیس سوم ارایه در منگو دیبی (1406896875.37) اندیس یک و دو همون ارایه رو فقط بهم برگردونه . نه تمام ارایه تست
ممنمون

مبین رنجبر
یک شنبه 26 مرداد 1393, 16:57 عصر
سلام و خسته نباشید
میخواستم در یک ارایه در ساختار منگودیبی جسته جو کنم و یکسری نتایج رو برام بیاره مثلا ارایه پایین


"test" : [
[
56,
27,
1406896875.37
],
[
57,
28,
1406896875.38
]
]


هدفم اینه که مثلا با جسته جو اندیس سوم ارایه در منگو دیبی (1406896875.37) اندیس یک و دو همون ارایه رو فقط بهم برگردونه . نه تمام ارایه تست
ممنمون

خوب مشکل کجاست دوست عزیز؟

A.ardalan far
یک شنبه 26 مرداد 1393, 21:52 عصر
مشکل این جاست که query من زمانی که فیلتر میکنم بهاش کل ارایه رو نشون میده بهم
من میخام فقط و فقط یک اندیس (همون اندیسی که مقدار سومش برابر با پارامتر سرچ منه) رو نمایش بده

مبین رنجبر
دوشنبه 27 مرداد 1393, 15:47 عصر
مشکل این جاست که query من زمانی که فیلتر میکنم بهاش کل ارایه رو نشون میده بهم
من میخام فقط و فقط یک اندیس (همون اندیسی که مقدار سومش برابر با پارامتر سرچ منه) رو نمایش بده

کوئری ای که برای سرچ می نویسید چی هست؟

A.ardalan far
دوشنبه 27 مرداد 1393, 17:45 عصر
ا قصد من اینه مثلا بگن در جای که مشخصات نامش تست۱ هست و '111111.23444447' پامتر اندیس سوم در اریه کوردینیت رو داره دو اندیس ۱.۲ ان رو برام بیار . در کل همینه

مبین رنجبر
چهارشنبه 29 مرداد 1393, 19:15 عصر
ا قصد من اینه مثلا بگن در جای که مشخصات نامش تست۱ هست و '111111.23444447' پامتر اندیس سوم در اریه کوردینیت رو داره دو اندیس ۱.۲ ان رو برام بیار . در کل همینه

درسته ولی عرض کردم کد جستجویی که می نویسید چی هست که میگید پیدا نمیکنه؟ (یه نکته ای هم عرض کنم اندکی صبر کنید تا پاسخ خودتون رو دریافت کنید)

A.ardalan far
چهارشنبه 05 شهریور 1393, 11:29 صبح
درسته ولی عرض کردم کد جستجویی که می نویسید چی هست که میگید پیدا نمیکنه؟ (یه نکته ای هم عرض کنم اندکی صبر کنید تا پاسخ خودتون رو دریافت کنید)

اوکی .شرمنده
ببینید ما یه دیتابیس داریم مثل :


{
"polylines" : [
{
"path" : {
"id" : 1,
"coordinates" : [
[
[
-73.96943,
40.78519
],
[
-73.96082,
40.78095
]
],
[
[
-73.96415,
40.79229
],
[
-73.95544,
40.78854
]
]
]
}
,
{
"path" : {
"id" : 2,
"coordinates" : [
[
[
-73.95999999999999,
40.78519
],
[
-73.97,
40.78095
]
],
[
[
-73.98,
40.79229
],
[
-73.98999999999999,
40.78854
]
],

]
}
}
]
}


قصد من اینه که سرچ کنم که هرجا ایدی ۱ هست مثلا اریه کوردینیت مربوط به همون path که سرچ شده و ایدی یک درونش بوده رو فقط واسم بیار


find({"polylines.path.id":2},{"polylines.path.id":1}).forEach(printjson)
در این دستور من چک میکنه میکنه که اوکی ایدی یک هست . اما تمام اریه path چه ایدی که یک باشه چه دو. رو برای من میاره فکر میکنم به دلیل این که ما اریه هم اسم داریم
اما مشک اینجاست باید حتما از این ساختار استفاده کنم و نمیشه عوضش کنم ایا راهی هست براش؟

پیوست:دیتابیس مورد استفاده من با فرمت هست geojson

مبین رنجبر
چهارشنبه 05 شهریور 1393, 23:09 عصر
اوکی .شرمنده
ببینید ما یه دیتابیس داریم مثل :


{
"polylines" : [
{
"path" : {
"id" : 1,
"coordinates" : [
[
[
-73.96943,
40.78519
],
[
-73.96082,
40.78095
]
],
[
[
-73.96415,
40.79229
],
[
-73.95544,
40.78854
]
]
]
}
,
{
"path" : {
"id" : 2,
"coordinates" : [
[
[
-73.95999999999999,
40.78519
],
[
-73.97,
40.78095
]
],
[
[
-73.98,
40.79229
],
[
-73.98999999999999,
40.78854
]
],

]
}
}
]
}


قصد من اینه که سرچ کنم که هرجا ایدی ۱ هست مثلا اریه کوردینیت مربوط به همون path که سرچ شده و ایدی یک درونش بوده رو فقط واسم بیار


find({"polylines.path.id":2},{"polylines.path.id":1}).forEach(printjson)
در این دستور من چک میکنه میکنه که اوکی ایدی یک هست . اما تمام اریه path چه ایدی که یک باشه چه دو. رو برای من میاره فکر میکنم به دلیل این که ما اریه هم اسم داریم
اما مشک اینجاست باید حتما از این ساختار استفاده کنم و نمیشه عوضش کنم ایا راهی هست براش؟

پیوست:دیتابیس مورد استفاده من با فرمت هست geojson

دوست من مشکل از اسکیما دیتابیس شما است.این داده هارو بر طبق اسکیما شما نمیشه در کالکشن ذخیره کرد.احتمالا یا در اینجا اشتباه وارد کردید و یا کلا اسکیما اشتباه است.