0

我正在使用 Mongoose 存储对 API 的请求。我使用此数据条目在排队系统中保存请求的进度,因此我希望将它们全部存储在一个集合中以便于查找。

我想创建一个模型来表示通用请求标头。

var ApiRequest = new Schema({
    route: String,
    priority: String,
    maxResponseAge: String,
    progress: String,
    timestamp: { type: Date, default: Date.now },
    request: UnknownMongooseSchema
});

我希望“请求”是一个未知的猫鼬方案(它取决于发出的 API 请求)。例如,这里有几个请求类型。

var UrlRequest = new Schema({
    urls: String,
    followredirects: Boolean
});

var TweetRequest = new Schema({
    user: String,
    pass: String,
    tweet: String
});

有谁知道如何将随机方案存储在方案中?

4

1 回答 1

0

忘记那个最初的想法......我匆忙写了它。

Mongoose 的模式对象构造函数将对象字面量作为其第一个参数。将对象文字带出构造函数,然后使用您选择的其他字段/模式扩展对象文字。

var schema = {
    field: String,
    anotherField: Boolean,
}

schema.aCollection = [anotherSchema];
var APIRequestSchema = new Schema(schema);

schema.aCollection = [yetAnotherSchema];
var OtherRequestSchema = new Schema(schema);
于 2013-10-10T20:31:28.483 回答