Usando node.js, mongodb en mongoHQ y mangosta. Estoy configurando un esquema para Categorías. Me gustaría usar el documento ObjectId como mi categoryId.Cómo establecer ObjectId como un tipo de datos en mongoose
var mongoose = require('mongoose');
var Schema = mongoose.Schema,
ObjectId = Schema.ObjectId;
var Schema_Category = new Schema({
categoryId : ObjectId,
title : String,
sortIndex : String
});
entonces corro
var Category = mongoose.model('Schema_Category');
var category = new Category();
category.title = "Bicycles";
category.sortIndex = "3";
category.save(function(err) {
if (err) { throw err; }
console.log('saved');
mongoose.disconnect();
});
en cuenta que yo no proporcionan un valor para categoryId. Supuse que Mangosta usará el esquema para generarlo, pero el documento tiene el "_id" usual y no "categoryId". ¿Qué estoy haciendo mal?
¡Respuesta perfecta! Gracias! – idophir
Después de establecer una propiedad virtual, probé: db.cats.find ({categoryId: ObjectId ("the id")}} pero obtuve resultados nulos. cuando uso db.cats.find ({_ id: ObjectId ("the id")}) Recibí un doc. Por lo tanto, parece que la propiedad virtual no se puede usar para buscar. Creo que podría ser más fácil administrar el código si fuera posible hacer referencia a cada ID con un nombre claro, en lugar de usar _id para todo. Solo un pensamiento ... – idophir