2012-01-16 4 views
1

Я не могу получить Mongoose для сохранения моих данных. Я хотел сохранить базу данных каждый раз, когда вызывается новое событие.Mongoose - данные не сохранены в db

//Capture data from socket into schema 
io.sockets.on('connection', function (socket) { 
    socket.emit('news', { hello: 'world' }); 
    socket.on('slog', function (data) { 
     story.lines.push ({ author: 'Khuram', text: data.my}, function(){ 
      story.save(function(err){ 
       //save line 
       if (err) {throw err; } 
       console.log('saved story line'); 
      }); 
     }); 
    }); 
}); 
+0

Что «утомительное» событие - Это тот, который вы хотите вызвать мангуст, чтобы сделать обновление на? Можете ли вы проверить, что он действительно уволен? Это поможет выяснить, является ли это проблемой при вызове mongoose или код обработки событий. – mpobrien

+0

Да, это событие, которое я хочу обновить мангуста. Я проверил свой код socket.io самостоятельно и могу подтвердить, что он срабатывает. Обновление mongoose со звездными данными как часть push и no socket.io также работает. Я просто думаю, что я не смог правильно слить две функции или что-то еще? –

ответ

0

Согласно этой странице: http://mongoosejs.com/docs/embedded-documents.html

Может быть, вы можете попробовать:

story.lines.push ({ author: 'Khuram', text: data.my}); 
story.save(function(err){ 
      //save line 
      if (err) {throw err; } 
      console.log('saved story line'); 
}); 

В конце концов, это, кажется, как метод нажимного может не поддерживать функцию обратного вызова, как анонимную функцию, которую вы пытаетесь проходить.

Ссылка: https://github.com/LearnBoost/mongoose/blob/master/lib/types/array.js

+0

Вот как у меня это было изначально, но делаю это так, он не ждет, чтобы получить данные сокета и продолжает право на сохранение. Я хочу сохранять данные каждый раз, когда передаются данные. Любые идеи? –

+0

Просто играл с этим немного больше. Кажется, это проблема, связанная с Socket.io, а не с мангустом, но не совсем точно, что на данный момент. Я просто попытался сделать push on socket.on с некоторыми статическими значениями, но он не работал. –

 Смежные вопросы

  • Нет связанных вопросов^_^