MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Намиране и връщане на първия съответстващ поддокумент от масива (Meteor / Mongo)

Потребители на Meteor:към момента на писане (версия 1.0.4.1), агрегирането на клиента не се поддържа.

Исках да запазя кода на клиента и също така исках реакция, така че ето моето решение:

db.projects

// simplified structure

{
      title: 'awebsite.com'
      company: 'a company'
      companyID: Random.id()
      category: 'website'
      starred: false
      tasks: [
          {
            completed: true
            name: 'task1'
            category: 'ideas'
            todos: [
              {todo: 'something', completed: false, todoID: Random.id()}
              {todo: 'something', completed: false, todoID: Random.id()}
              {todo: 'something', completed: false, todoID: Random.id()}
            ]
          }
          {
            completed: false
            name: 'task2'
            category: 'ideas'
            todos: [
              {todo: 'something', completed: false, todoID: Random.id()}
              {todo: 'something', completed: false, todoID: Random.id()}
              {todo: 'something', completed: false, todoID: Random.id()}
            ]
          }
        ]
    }

../projects.coffee

Meteor.subscribe 'projects'
Tasks = new (Mongo.Collection)(null)   //use (null) to create client-only collection

Template.projects.rendered = ->
  results = Projects.findOne { title: 'awebsite.com' },
    fields: tasks: 1

  _.each results.tasks, (task) ->
    Tasks.insert (task)

Template.projects.helpers
  currentTask: ->
    Tasks.findOne completed: false


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Агрегиране на ниво месец и ниво година, също намерете средната стойност в MongoDB

  2. mongoimport в docker-compose ми дава грешка „Не може да стартира услуга“.

  3. Вътрешна грешка в сървъра при мигриране на Parse към Heroku/AWS

  4. Как да премахнете дубликати въз основа на ключ в Mongodb?

  5. MongoDB count() срещу countDocuments()