Я рассмотрел некоторые вопросы на сайте и не совсем понял, что я делаю неправильно. Я какой-то код, как это:Обновление Mongoose/upsert?
var mongoose = require('mongoose'),
db = mongoose.connect('mongodb://localhost/lastfm'),
Schema = mongoose.Schema,
User = new Schema({
nick: String,
hmask: String,
lastfm: String
});
var UserModel = mongoose.model('User', User);
//Register user to mongodb
var reg_handler = function (act) {
// should add a new entry to the db if nick (act.nick) && hmask (act.host)
// aren't already in the db. Otherwise, update the entry that matches nick
// or hostmask with the new lastfm name (act.params)
};
var get_handler = function (act) {
UserModel.find({ nick: act.params }, function (err, users) {
if (err) { console.log(err) };
users.forEach(function (user) {
console.log('url for user is http://url/' + user.lastfm);
});
});
};
Я не уверен, что я должен делать в середине есть, чтобы получить его, чтобы обновить базу данных должным образом. Я пробовал немало вещей, не могу отменить, чтобы узнать все, что я пробовал. Это заняло большую часть моей ночи, и я хочу, чтобы она работала.
Это почти то, что я хочу, я задаюсь вопросом, есть ли способ сделать или в условиях части .update()
var reg_handler = function (act) {
var lfmuser = { nick: act.nick, hmask: act.host, lastfm: act.params };
UserModel.update({ nick: act.nick }, { $set: lfmuser }, { upsert: true }, function(){});
};
Я буду держать играл вокруг с ним.
Возможно, вы захотите добавить некоторую обработку ошибок к этой последней функции;) – staackuser2