Jac*_*her 4 javascript mongoose mongodb node.js mongoose-schema
我试图完成一些非常简单的事情,但仍然失败了。
我想做的是当我get在服务器上收到请求时,我想返回所有文档,但只返回填充的特定字段。
我的架构如下
var clientSchema = new Schema({
name:{
type: String,
required: true
},
phone:{
type: String,
required: true
},
email:{
type: String,
required: true
},
address: {
type: String,
required: false
}
});
var orderDetailsSchema = new Schema({
//isn't added to frontend
confirmed:{
type: Boolean,
required: true,
default: false
},
service:{
type: String,
required: true
},
delivery:{
type: String,
required: false
},
payment:{
type: String,
required: false
},
status:{
type: String,
required: true,
default: "new order"
},
});
var orderSchema = new Schema({
reference:{
type: String,
required: true
},
orderdetails: orderDetailsSchema,
client: clientSchema,
wheelspec: [wheelSchema],
invoice:{
type: Schema.Types.ObjectId,
ref: 'Invoice'
}
});
Run Code Online (Sandbox Code Playgroud)
我想要的是只返回client.phone和client.email加上orderdetails.status但reference如果可能的话仍然保留字段
我试过使用lean(),populate()但没有运气。有什么我想念的完全简单的东西吗?或者我想要达到的目标并不那么容易?谢谢!
您可以指定要返回的字段,如下所示:
Order.findOne({'_id' : id})
.select('client.phone client.email orderdetails.status reference')
.exec(function(err, order) {
//
});
Run Code Online (Sandbox Code Playgroud)
替代语法
Order.findOne({'_id' : id})
.select('client.phone client.email orderdetails.status reference')
.exec(function(err, order) {
//
});
Run Code Online (Sandbox Code Playgroud)
我在这里做了一些假设,但你应该能够看到这个想法。
| 归档时间: |
|
| 查看次数: |
9571 次 |
| 最近记录: |