У меня есть коллекция с объектами, как это:Получить конкретные значения из вложенных массивов элементов в коллекции Монго
{
"_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")
}
, но я только хочу, чтобы получить первое значение из охватывает и URLS атрибутов, мой выход 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" })
Но это не работает.