Вопросы с тегом «aggregation-framework»

MongoDB Aggregation Framework предоставляет средства для изменения формы и агрегирования данных в MongoDB 2.2+.

14
Получить только запрашиваемый элемент в массиве объектов в коллекции MongoDB
Предположим, у вас есть следующие документы в моей коллекции: { "_id":ObjectId("562e7c594c12942f08fe4192"), "shapes":[ { "shape":"square", "color":"blue" }, { "shape":"circle", "color":"red" } ] }, { "_id":ObjectId("562e7c594c12942f08fe4193"), "shapes":[ { "shape":"square", "color":"black" }, { "shape":"circle", "color":"green" } ] } Сделать запрос: db.test.find({"shapes.color": "red"}, {"shapes.color": 1}) Или db.test.find({shapes: {"$elemMatch": {color: "red"}}}, {"shapes.color": 1}) Возвращает соответствующий …

9
Обновить поле MongoDB, используя значение другого поля
В MongoDB возможно ли обновить значение поля, используя значение из другого поля? Эквивалентный SQL будет что-то вроде: UPDATE Person SET Name = FirstName + ' ' + LastName И псевдокод MongoDB будет: db.person.update( {}, { $set : { name : firstName + ' ' + lastName } );

21
Получить имена всех ключей в коллекции
Я хотел бы получить имена всех ключей в коллекции MongoDB. Например, из этого: db.things.insert( { type : ['dog', 'cat'] } ); db.things.insert( { egg : ['cat'] } ); db.things.insert( { type : [] } ); db.things.insert( { hello : [] } ); Я хотел бы получить уникальные ключи: type, egg, …


7
MongoDB SELECT COUNT GROUP BY
Я играю с MongoDB, пытаясь выяснить, как сделать простой SELECT province, COUNT(*) FROM contest GROUP BY province Но я не могу понять это с помощью агрегатной функции. Я могу сделать это, используя какой-то очень странный групповой синтаксис db.user.group({ "key": { "province": true }, "initial": { "count": 0 }, "reduce": function(obj, …

6
Включите все существующие поля и добавьте новые поля в документ
Я хотел бы определить стадию агрегирования $ project, на которой я могу дать ему указание добавить новое поле и включить все существующие поля без необходимости перечислять все существующие поля. Мой документ выглядит так, с множеством полей: { obj: { obj_field1: "hi", obj_field2: "hi2" }, field1: "a", field2: "b", ... field26: …

3
Mongodb Explain for Aggregation framework
Есть ли в MongoDB функция объяснения для фреймворка агрегации? Я не вижу этого в документации. Если нет, есть ли другой способ проверить, как запрос выполняется в структуре агрегирования? Я знаю, что ты просто найди db.collection.find().explain() Но с фреймворком агрегации я получаю ошибку db.collection.aggregate( { $project : { "Tags._id" : 1 …



5
mongodb count количество различных значений для поля / ключа
Есть ли запрос для расчета количества различных значений, содержащихся в поле в БД. fe У меня есть поле для страны, и есть 8 типов значений страны (Испания, Англия, Франция и т. д.) Если кто-то добавит больше документов с новой страной, я бы хотел, чтобы запрос вернул 9. Есть ли способ …

6
$ поиск по ObjectId в массиве
Каков синтаксис для выполнения поиска $ в поле, которое является массивом ObjectIds, а не просто одним ObjectId? Пример документа для заказа: { _id: ObjectId("..."), products: [ ObjectId("..<Car ObjectId>.."), ObjectId("..<Bike ObjectId>..") ] } Не рабочий запрос: db.orders.aggregate([ { $lookup: { from: "products", localField: "products", foreignField: "_id", as: "productObjects" } } ]) …

6
Что такое оператор $ unwind в MongoDB?
Это мой первый день работы с MongoDB, так что не торопитесь со мной :) Я не понимаю $unwindоператора, может потому, что английский не мой родной язык. db.article.aggregate( { $project : { author : 1 , title : 1 , tags : 1 }}, { $unwind : "$tags" } ); Оператор …


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.