node.js - mongodb其中一个collection字段拆分成新collection的问题?

查看:135
本文介绍了node.js - mongodb其中一个collection字段拆分成新collection的问题?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

mongodb建库的时候是这么建的:
test---collection
{

"_id" : ObjectId("5987fabbb48f868e50acf8ca"),
"地址" : "上实地产",
"状态(在用、废弃、闲置)" : "在用",
"附加信息" : 101547,
"所属类别" : "单位",
"ID" : NumberLong(300000131613),
"jingwei" : "120.485833,36.106991,上实地产,
120.486493,36.107104,上实地产,
120.487171,36.107046,上实地产,
120.487364,36.106383,上实地产,
120.48736,36.105858,上实地产"

}
我已经上面这种结构拆成,用户地理位置查询: fid就是 test- 中的_id
geo--collection
{

"_id" : ObjectId("59959a4ea007718916839e81"),
"fid" : "5987fabbb48f868e50acf8ca",
"coordinates" : [ 
    120.487171, 
    36.107046
]

}

/ 2 /
{

"_id" : ObjectId("59959a4ea007718916839e82"),
"fid" : "5987fabbb48f868e50acf8ca",
"coordinates" : [ 
    120.487364, 
    36.106383
]

}

/ 3 /
{

"_id" : ObjectId("59959a4ea007718916839e83"),
"fid" : "5987fabbb48f868e50acf8ca",
"coordinates" : [ 
    120.48736, 
    36.105858
]

}

/ 4 /
{

"_id" : ObjectId("59959a4ea007718916839e87"),
"fid" : "5987fabbb48f868e50acf8ca",
"coordinates" : [ 
    120.486493, 
    36.107104
]

}

/ 5 /
{

"_id" : ObjectId("59959a4ea007718916839e9c"),
"fid" : "5987fabbb48f868e50acf8ca",
"coordinates" : [ 
    120.485833, 
    36.106991
]

}

请问,fid能不能转换成ObjId,我的思路是通过地理位置查询得到fid,然后通过fid得到test表中的相关信息.

解决方案

建Schema的时候设置类型了吗?

{
    fid:Schema.Types.ObjectId
}

另外
可以看看mongoose的关联查询
建Schema的时候设置关联
fid: [{ type: Schema.Types.ObjectId, ref: 'test' }]
然后查询

geo.findOne(条件).populate("test").exec(function(err,data){
    console.log(data);
})

可以直接查出下面 关联的数据直接就在fid里面:

 "_id" : ObjectId("59959a4ea007718916839e9c"),
"fid" : [{
    "_id" : ObjectId("5987fabbb48f868e50acf8ca"),
    "地址" : "上实地产",
    "状态(在用、废弃、闲置)" : "在用",
    "附加信息" : 101547,
    "所属类别" : "单位",
    "ID" : NumberLong(300000131613),
    "jingwei" : "120.485833,36.106991,上实地产,
    120.486493,36.107104,上实地产,
    120.487171,36.107046,上实地产,
    120.487364,36.106383,上实地产,
    120.48736,36.105858,上实地产"
    }],
"coordinates" : [ 
    120.485833, 
    36.106991
]

这篇关于node.js - mongodb其中一个collection字段拆分成新collection的问题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆