我正在尝试将菜单推送到嵌入式文档.但是我在餐厅里没有定义findOne.我只想将一些文件推入餐厅的菜单类别.正如您在架构中看到的那样:
var RestaurantSchema = new mongoose.Schema({ contactTelphone : String, address : String, branchID : String, email : String, restaurantName : String, userID : String, menuCategory : [MenuCategorySchema] }); var MenuCategorySchema = new mongoose.Schema({ menuCategory : String, menuCategoryAlt : String, sequence : Number, menus : [MenuSchema], restaurantInfo : { type: Schema.Types.ObjectId, ref: 'Restaurant' }, }); var MenuSchema = new mongoose.Schema({ foodName : String, foodNameAlt : String, picName : String, price : String, rating : Number, menuSequence : Number, category : { type: Schema.Types.ObjectId, ref: 'MenuCategory' }, }); exports.menuForMenuCategory = function(newData, callback) { console.log(newData); var menuCategoryId = newData.menuCategoryId; var restaurantId = newData.restaurantId; var newMenu = new Menu({ foodName : newData.foodName, foodNameAlt : newData.foodNameAlt, picName : newData.picName, price : newData.price, cookingCategory : newCookingCategory, dishSpecial : newDishSpeical }); Restaurant.findOne( {'_id' : restaurantId }, function(err, restaurant){ if (!err) { //Is it how to do this? It says "findOne not defined" restaurant.findOne( "_id" : menuCategoryId, function(err, category){ category.push(newMenu); }); } }); }
小智.. 24
子文档有一个.id()方法,所以你可以这样做:
myModel.findById(myDocumentId, function (err, myDocument) { var subDocument = myDocument.mySubdocuments.id(mySubDocumentId); });
请参阅http://mongoosejs.com/docs/subdocs.html以供参考.
子文档有一个.id()方法,所以你可以这样做:
myModel.findById(myDocumentId, function (err, myDocument) { var subDocument = myDocument.mySubdocuments.id(mySubDocumentId); });
请参阅http://mongoosejs.com/docs/subdocs.html以供参考.