【问题标题】:I can not create user in mongodb, must be function is wrong?我无法在 mongodb 中创建用户,一定是功能错误?
【发布时间】:2017-05-06 19:12:36
【问题描述】:

嗨,我想在屏幕上看到用户的所有信息,但我无法在 mongodb 中添加用户。 Locations Schema中的用户位置信息。但我不知道如何获取位置信息(即城市,城镇......)来输入UserSchema。这是我的代码:

用户架构:

var userSchema = Mongoose.Schema({ 

        name:{type: String,require:true},
        surname: {type: String,require:true},
        tel: {type: String,require:true},
        age: {type: String,require:true},
        mevki_id: {type: String,require:true},
        location_id: { type: [Mongoose.Schema.Types.ObjectId], ref: 'locations' }



});

Create User Function :
this.createUser = function (req, res, next) {
       var lok=new Location({il:req.params.il,ilce:req.params.ilce});
               lok.save(function(err){
   var user=new User({name:req.params.name,surname:req.params.surname,tel:req.params.tel,age:req.params.age,mevki_id:req.params.mevki_id,location_id:user});
         user.save(function(err){

          user.location_id=lok;
                 });
 return res.send({})
                 });    
                 }

谢谢:)

【问题讨论】:

    标签: javascript node.js mongodb mongoose schema


    【解决方案1】:
    //define this as your schema in your file
    
    var userSchema = new Schema({
        name: {type: String, required: true},
        surname: {type: String, required: true},
        tel: {type: Number, required: true},
        age: {type: Number, required: true},
        mevki_id: {type: String, required: true},
        location_id:{type:String,required:true}
    });
    var CollectionModel_user = conn.model('users', userSchema)
    
    return function (req, res, next) {
            req.Collection_user = CollectionModel_user;
            next();
        }
    
       // create a route which can create a route in your
       // app.js or main.js file that will create a new
       // collection in your mongo.
    
        router.all('/user/create', function (req, res) {
        var create = req.Collection_user;
        var name = req.body.name;
        var surname = req.body.surname;
        var tel = req.body.tel;
        var age = req.body.age;
        var mevki_id = req.body.mevki_id;
        var location_id = req.body.location_id;
        var record = new create({
            name: name,
            surname: surname,
            tel: tel,
            age: age,
            mevki_id: mevki_id,
            location_id: location_id
        });
        if (name.length > 0) {
            record.save(function (err, result) {
                if (err) {
                    res.json({status: 0, message: err})
                } else {
                    res.json({status: 1, message: " success"});
                }
            })
        } else {
            res.json({status: 0, msg: "Invalid Fields"});
        }
    });
    

    【讨论】:

    • 感谢您的帮助,但不幸的是它不起作用我猜创建函数是错误的,因为它必须同时创建位置模式和用户模式。然后我必须在位置模式中获取位置 ID ,放入用户模式,当我获取用户时,用户不再有位置信息,但我不知道该怎么做:(
    猜你喜欢
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-06
    • 2014-01-22
    • 1970-01-01
    相关资源
    最近更新 更多