0
我有这样的对象的集合:获取蒙戈集合中从嵌套的数组元素的特定值
{
"_id": ObjectId("52ed12c144aecc4bf004d0b6"),
"title": "myBook",
"summary": "This is a book summary",
"covers": [
"http://url.com/cover1.jpg",
"http://url.com/cover2.jpg",
],
"urls": [
"http://url.com/myBook",
"http://url.com/myBook/option2"
],
"genres": [
"comedy",
"romantic"
],
"created_at": ISODate("2012-12-17T23:00:00Z"),
"modify_at": ISODate("2014-02-01T15:41:48.149Z")
}
但我只想要得到的第一个值从涵盖和网址属性,我的输出JSON应该是这样的:
{
"_id": ObjectId("52ed12c144aecc4bf004d0b6"),
"title": "myBook",
"summary": "This is a book summary",
"covers": "http://url.com/cover1.jpg",
"urls": "http://url.com/myBook"
"genres": [
"comedy",
"romantic"
],
"created_at": ISODate("2012-12-17T23:00:00Z"),
"modify_at": ISODate("2014-02-01T15:41:48.149Z")
}
我想我必须使用map_reduce,但我不知道我应该怎么查询的,我想:
db.books.mapReduce(function(){ emit(this._id, this.covers); }, function(key, values){ return values[0]; }, { out: "map_reduce_covers" })
但这似乎并不奏效。