gpt4 book ai didi

node.js - Mongoose 对象 ID 为空

转载 作者:IT老高 更新时间:2023-10-28 12:31:38 25 4
gpt4 key购买 nike

我正在创建一个对象注册(Mongoose 架构),我需要在 User 中设置它的 Id 使用此行:registrationId:registration._id });

但是,Id 仍然是 null,即使它是回调函数?当我检查数据库时,注册当然有和 Id,但不在回调中。如何在User中设置RegistrationId

Edit2:更改为最小示例。这会打印出两次 null

exports.create = function(req, res) {
Registration.create(req.body, function(err, registration) {
if(err) { return handleError(res, err); }

console.log(registration._id);
console.log(registration.id);

return res.json(201, registration);
});
};

编辑:这是架构(我省略了一些不需要的字段):

'use strict';

var mongoose = require('mongoose'),
Schema = mongoose.Schema;

var RegistrationSchema = new Schema({

isReservation: Boolean,

//Id of the trip
tripId: String,

//socialMutuality
codeGerechtige: String,
socialMutualityNumberParent1: String,
socialMutualityNumberParent2: String,

//contact
userId: String,
firstnameContact: String,
lastnameContact: String,
emailContact: String,
streetContact: String,
streetNumberContact: String,
zipcodeContact: String,
busContact: String,
cityContact: String,
phoneContact: String,
gsmContact: String,
socialSecurityNumberContact: String,

//coordinats of person that pays

//child information

//emergency contacts
emergencyContacts: [{
firstName: String,
lastName: String,
phone: String
}],

extraInfo: String

});

module.exports = mongoose.model('Registration', RegistrationSchema);

问题与解决方案:问题是客户端发送属性_id = null,这就是MongoDB/Mongoose没有更新id的原因。

最佳答案

从 req.body 中删除 _id 解决了我的问题。

if(req.body._id === null) {
delete req.body._id;
}

关于node.js - Mongoose 对象 ID 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27489798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com