Rethinkdb 地理空间:getIntersecting
Rethinkdb Geospatial: getIntersecting
我有一个查询,用于搜索多边形列表并检查是否包含任何点列表。
我的问题是我需要知道如何插入一个指示器,指示该点所在的多边形。
这是我的查询:
function fieldGeoFilteringFn(){
r.connect(config.rethinkdb, function(err, conn){
if(err) {
console.log('conn err', err)
}
r.db('queue').table('activeJobs').forEach(function(id) {
return r.db('queue').table('fieldTrucks').insert( r.db('queue').table('tracksInit').getIntersecting(
r.db('queue').table('activeJobs').get(id('id'))('shape')('location') , {index: 'geometry'}).pluck(
['Heading', 'MobileName', 'geometry', 'id', 'Speed', 'HardwareId'])) }).run(conn, function(err,result){
if(err) {
console.log("Insert Field Trucks err", err)
} else {
console.log("Field truck insert")
}
})
})
}
来自每个 activeJobs 的 ID 是我想与其他字段一起插入的 "plucking"。
如果需要更多信息,请告诉我。
谢谢!
您可以使用merge
组合对象。
这是你想要的吗?
r.db('queue').table('activeJobs').forEach(function(job) {
return r.db('queue').table('fieldTrucks').insert(
r.db('queue').table('tracksInit').getIntersecting(job('shape')('location')).pluck(
['Heading', 'MobileName', 'geometry', 'id', 'Speed', 'HardwareId']).merge(
{job_id: job('id')}))
})
我有一个查询,用于搜索多边形列表并检查是否包含任何点列表。 我的问题是我需要知道如何插入一个指示器,指示该点所在的多边形。
这是我的查询:
function fieldGeoFilteringFn(){
r.connect(config.rethinkdb, function(err, conn){
if(err) {
console.log('conn err', err)
}
r.db('queue').table('activeJobs').forEach(function(id) {
return r.db('queue').table('fieldTrucks').insert( r.db('queue').table('tracksInit').getIntersecting(
r.db('queue').table('activeJobs').get(id('id'))('shape')('location') , {index: 'geometry'}).pluck(
['Heading', 'MobileName', 'geometry', 'id', 'Speed', 'HardwareId'])) }).run(conn, function(err,result){
if(err) {
console.log("Insert Field Trucks err", err)
} else {
console.log("Field truck insert")
}
})
})
}
来自每个 activeJobs 的 ID 是我想与其他字段一起插入的 "plucking"。
如果需要更多信息,请告诉我。
谢谢!
您可以使用merge
组合对象。
这是你想要的吗?
r.db('queue').table('activeJobs').forEach(function(job) {
return r.db('queue').table('fieldTrucks').insert(
r.db('queue').table('tracksInit').getIntersecting(job('shape')('location')).pluck(
['Heading', 'MobileName', 'geometry', 'id', 'Speed', 'HardwareId']).merge(
{job_id: job('id')}))
})