javascript - Mongodb/mongoose insert 不是函数

标签 javascript node.js mongodb mongoose

我的插入不工作,我得到错误错误:

Token.insert is not a function

var Token = module.exports = mongoose.model('tokens', tokenSchema);

//error
module.exports.saveToken = function(owner_id, token, callback){
    console.log(owner_id,token);
    Token.insert({"owner":owner_id,"token":token},callback);
}
//working
module.exports.getAllTokens = function(owner_id, callback){
    Token.find({"owner":owner_id},callback);
}

最佳答案

检查此代码示例,它应该可以按您的需要工作。

我在这里没有看到任何不理解的部分。

有问题在评论里提问,不懂我会解释。

var tokenSchema = mongoose.Schema({
  owner: { 
    type: 'String',
    required: true,
    index: {
      unique: true
    }
  }, 
  token: {
    type: ['String'],
    default: []
  }
});

var Token = module.exports = mongoose.model('tokens', tokenSchema);

//save token, if token document exist so push it in token array and save
module.exports.saveToken = function(owner_id, token, callback){
    Token
      .findOne({owner: owner_id})
      .exec(function(err, tokenDocument) {
        if(tokenDocument) {
          if(tokenDocument.token.indexOf(token) > -1) { // found that token already exist in document token array
            return callback(null, tokenDocument); // don't do anything and return to callback existing tokenDocument
          }

          tokenDocument.token.push(token);
          tokenDocument.save(callback);
          return; // don't go down, cuz we already have a token document
        }

        new Token({owner: owner_id, token: [token]}).save(callback); // create new token document with single token in token array
    });
}

//get all tokens by owner_id
module.exports.getAllTokens = function(owner_id, callback){
    Token
      .findOne({owner: owner_id})
      .exec(function(err, tokenDocument) {
        callback(err, tokenDocument.token);
      });
}

关于javascript - Mongodb/mongoose insert 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37697448/

相关文章:

python:查询mongodb数据库以查找未知字段下的特定值

node.js - 如何在nodejs中使用foreach进行Mongodb操作

node.js - Mongoose :无法将嵌套对象保存到嵌套模型

javascript - 特定词过滤器

javascript - => 在 Node js 中是什么意思

javascript - 自合并对象 - lodash

node.js - 如何从其他意图获取数据? (将意图的数据传递给其他意图)

node.js - Redis 队列的多个 node.js 消息接收器

javascript - Canvas 填充反射(reflect)在两个形状上

javascript - 下拉菜单后面的链接是可点击的,而不是固定的下拉菜单