Articles of 填充

Mongoose模式inheritance和模型填充

我一直试图用内置的mongoose(而不是扩展插件)的inheritancefunction,但迄今没有多less运气。 这是我试图使用的代码的一个简化的例子,展示了同样的问题。 这是基于使用鉴别器的模式inheritance的mongoose文档的扩展版本 – http://mongoosejs.com/docs/api.html#model_Model.discriminator var util = require('util'); var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/problem'); var Schema = mongoose.Schema; var ObjectId = Schema.ObjectId; function BaseSchema() { Schema.apply(this, arguments); this.add({ name: String, createdAt: Date }); } util.inherits(BaseSchema, Schema); var BossStatusSchema = new Schema({ status: String }); var BossStatus = mongoose.model('BossStatus', BossStatusSchema); var PersonSchema = new BaseSchema(); var […]

我应该如何正确使用mongoose填充?

我正在学习一些节点,并试图使用mongoose。 目前,我的目标是学习如何使用填充 。 我有一个projects定义和milestone要求: projectSchema = new mongoose.Schema({ id: String, title: String, description: String, owner: String, site: String, creation_date: Date, milestone_ids: Array, milestones: [{ type: mongoose.Schema.Types.ObjectId, ref: "Milestone" }] }) Project = mongoose.model("Project", projectSchema) milestones = require(__dirname + "/milestones.js")(); 然后,我在project.js中的某个点执行此操作: Project.find(query, {}, {sort: {_id: -1}}, function (error, results) { callback(results); } ).populate("milestones"); 我如何填充里程碑? 这里是来自mongo的project数据: { […]

Mongoose:投射到ObjectId失败的价值

我试图在mongoose中指定我的数据库的模式。 目前我这样做: var Schema = mongoose.Schema; var today = new Date(2011, 11, 12, 0, 0, 0, 0); var personSchema = new Schema({ _id : Number, name: { type: String, required: true }, tel: { type: String, required: true }, email: { type: String, required: true }, newsitems: [{ type: Schema.Types.ObjectId, ref:'NewsItem'}] }); var taskSchema = […]

模型的Mongoose嵌套查询引用模型的字段

这似乎有很多Q / A在这个话题在stackoverflow,但我似乎无法find一个确切的答案在任何地方。 我拥有的: 我有公司和个人模型: var mongoose = require('mongoose'); var PersonSchema = new mongoose.Schema{ name: String, lastname: String}; // company has a reference to Person var CompanySchema = new mongoose.Schema{ name: String, founder: {type:Schema.ObjectId, ref:Person}}; 我需要的: find所有拥有“罗伯逊”姓氏的公司成立的公司 我试过的: Company.find({'founder.id': 'Robertson'}, function(err, companies){ console.log(companies); // getting an empty array }); 然后我觉得Person并不是embedded式的,而是被引用的,所以我使用populate填充了创build者Person,然后试图用'Robertson'lastname // 1. retrieve all companies […]

mongoose:填充填充字段

我使用MongoDB作为我的应用程序的日志pipe理器,然后同步移动客户端。 我在NodeJS中设置了这个模型: var UserArticle = new Schema({ date: { type: Number, default: Math.round((new Date()).getTime() / 1000) }, //Timestamp! user: [{type: Schema.ObjectId, ref: "User"}], article: [{type: Schema.ObjectId, ref: "Article"}], place: Number, read: Number, starred: Number, source: String }); mongoose.model("UserArticle",UserArticle); var Log = new Schema({ user: [{type: Schema.ObjectId, ref: "User"}], action: Number, // O => Insert, 1 […]