【发布时间】:2019-01-24 23:05:41
【问题描述】:
我一直在开发自己的小型 API,到目前为止一切都很好,我只是有一个小问题,我似乎找不到答案。
我在猫鼬中定义了一个这样的模式:
const ArtistSchema = new Schema({
stageName: {
type: String,
unique: true,
required: true,
minlength: 3,
maxlength: 255
},
realName: {
type: String,
unique: true,
required: true,
minlength: 5,
maxlength: 255
},
birthday: {
type: Date,
required: true
},
debutDate: {
type: Date,
required: true
},
company: {
type: String,
minlength: 5,
maxlength: 255,
required: function () {
return this.active;
}
},
active: {
type: Boolean,
default: true
},
music: [AlbumSchema],
createdAt: {
type: Date,
default: Date.now
}
});
我可以在数据库中创建一个条目,也没有问题。我在 app.post 上使用这个功能
create(req, res, next) {
const artistProps = req.body;
Artist.create(artistProps)
.then(artist => res.send(artist))
.catch(next);
},
这很好用,但是 res.send(artist)) 实际上返回的对象没有键顺序.. 或者我无法识别的模式。我希望响应与我在架构中定义的排序相同,因为现在它返回它:
活跃、艺名、实名、厂牌、音乐、生日
虽然应该是艺名、实名、生日、出道日期等。
我希望有人可以在这里帮助我。我知道我可以使用 sort 对特定键的 VALUE 进行排序(如按字母顺序排序 stageName),但我真的找不到任何键。
【问题讨论】:
标签: node.js mongodb express mongoose