我开始使用mongoDb而且我遇到了一个简单的用例.
假设我有一个集合'aCollection',其条目如下:
{
_id: ObjectId(123),
lat: 48,56623,
long: 2,56332
}
Run Code Online (Sandbox Code Playgroud)
我想用这样的条目创建一个新的集合:
{
_id: ObjectId(123),
lat: 48,56623,
long: 2,56332,
geometry : {
type: "Point",
coordinates: [48,56623, 2,56332]
}
}
Run Code Online (Sandbox Code Playgroud)
我想到了聚合框架:
db.aCollection.aggregate([{$project: {
_id: 1,
lat: 1,
long: 1,
geometry: {
type: {$concat: ["Point"]},
coordinates: ["$lat", "$long"]
}
}}])
Run Code Online (Sandbox Code Playgroud)
但它不起作用,我得到这个例外:
"异常:对象表达式中不允许的字段类型数组(位于'坐标')"
以下聚合正在起作用,但它不会产生预期的结果:
db.aCollection.aggregate([{$project: {
_id: 1,
lat: 1,
long: 1,
geometry: {
type: {$concat: ["Point"]},
coordinates: "$lat"
}
}}])
Run Code Online (Sandbox Code Playgroud)
如何在没有聚合框架的情况下使用聚合框架2)继续创建此集合1)
谢谢