我真的很陌生,我想练习查询并尝试做一个非常不同的练习,但是没有达到我的预期。
我有三种型号:
const userSchema = new Schema({
info1: String,
info2: String,
},
const serviceSchema = new Schema(
{
name: String,
legalOwner: {
type: Schema.Types.ObjectId,
ref: 'User',
},
},
const orderSchema = new Schema(
{
client: { type: Schema.Types.ObjectId, ref: 'User' },
service: { type: Schema.Types.ObjectId, ref: 'Service' },
description: String
},
我的用户可以像合法所有者或客户那样行事。我想显示用户以前设置为LegalOwner的信息。并且它已经保存在Mongo中,我如何访问该数据,是否有针对此的查询?我需要在我的模型订单中设置它吗?
const orderSchema = new Schema(
{
client: { type: Schema.Types.ObjectId, ref: 'User' },
service: { type: Schema.Types.ObjectId, ref: 'Service' },
description: String,
legalOwner: { type: Schema.Types.ObjectId, ref: 'Service' },
},
我在此查询上做了很多尝试。但是什么都行不通...
await Order.findById(id).populate('service')
据我所知,ObjectId作为_id存储在mongoDb中。
尝试一下
const query = { _id: new ObjectID(id)};
await Order.findOne(query).populate('service')
还从mongodb node_module导入ObjectID为
import { ObjectID } from 'mongodb';