【发布时间】:2014-07-20 14:43:05
【问题描述】:
我开始使用 mongoDb,但遇到了一个简单的用例。
假设我有一个集合“aCollection”,其中包含如下条目:
{
_id: ObjectId(123),
lat: 48,56623,
long: 2,56332
}
我想用这样的条目创建一个新集合:
{
_id: ObjectId(123),
lat: 48,56623,
long: 2,56332,
geometry : {
type: "Point",
coordinates: [48,56623, 2,56332]
}
}
我想到了聚合框架:
db.aCollection.aggregate([{$project: {
_id: 1,
lat: 1,
long: 1,
geometry: {
type: {$concat: ["Point"]},
coordinates: ["$lat", "$long"]
}
}}])
但它不起作用,我得到了这个异常:
“异常:对象表达式中不允许的字段类型数组(在'坐标'处)”
以下聚合正在运行,但未产生预期结果:
db.aCollection.aggregate([{$project: {
_id: 1,
lat: 1,
long: 1,
geometry: {
type: {$concat: ["Point"]},
coordinates: "$lat"
}
}}])
您将如何继续创建此集合 1) 用聚合框架 2) 没有聚合框架
谢谢
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework