鍍金池/ 問(wèn)答/數(shù)據(jù)庫(kù)  HTML/ mongoose 的update不能更新數(shù)據(jù),但沒(méi)有錯(cuò)誤

mongoose 的update不能更新數(shù)據(jù),但沒(méi)有錯(cuò)誤

也找到了,更新條件也對(duì),為什么就更新不過(guò)來(lái)呢?
這是后臺(tái)返回的數(shù)據(jù):

clipboard.png

這是我的后臺(tái)代碼:

clipboard.png

打印出來(lái)的數(shù)據(jù)分別是:

3213423
{ '$set': { status: false } }

這是我的前端代碼:

clipboard.png

數(shù)據(jù)庫(kù):

clipboard.png

這是我的Manager的model:

clipboard.png

引入:

let Manager = require('../models/manager');
回答
編輯回答
瘋浪

解決了,是我的Schema結(jié)構(gòu)問(wèn)題。。

2017年9月16日 08:56
編輯回答
孤酒

首先確認(rèn)下你的 model 是否正確的定義,其次 Model.update() 直接使用已存在的 model 實(shí)例是無(wú)效的:

圖片描述


僅供參考:

config:

module.exports = {
    mongodb : 'mongodb://userName:password@localhost:27017/database', //mongodb數(shù)據(jù)庫(kù)連接配置
};

schema:

module.exports = {
    user: {
        phone:      { type: String, required: true }, 
        code:       { type: String, required: true }, 
    }
}

model:

const mongoose = require('mongoose');
mongoose.Promise = global.Promise;
const mongoConfig = require('./mongo.config');
const schema = require('./schema');

let db = mongoose.createConnection(mongoConfig.mongodb);
db.on('error', console.error.bind(console, 'connection error: '));

const userschema = new mongoose.Schema( schema.user,  {collection: 'userCollection'} );
const UserModel = db.model('UserModel', userschema);

module.exports = {
    UserModel: UserModel,
}

update:

const Model = require('./model');

Model.UserModel.update({phone: '111'}, {$set:{code:'123'}}, (err, doc) => {
    if (err) console.log(err);
    console.log(doc)
})

建了個(gè)庫(kù)操作了下,是沒(méi)問(wèn)題的。

2018年6月21日 04:58