Когда я пытаюсь этот код в моем приложении:NodeJS - Mongoose (Объект не имеет метода "идентификатор")
приложение/модели/Post.coffee
mongoose = require "mongoose"
CommentModel = require "./Comment"
Comment = CommentModel.Schema
Schema = mongoose.Schema
Post = new Schema {
title: String,
slug: {type: String, index: { unique: true, dropDubs: true }},
content: String,
author: String,
tags: [String],
comments: [Comment],
created: { type: Date, default: Date.now }
}
Post.statics.findBySlug = (slug, cb) ->
this.model("Post").findOne({ slug: slug }, cb)
PostModel = mongoose.model "Post", Post
module.exports = PostModel
приложение/модели/Комментировать .coffee
mongoose = require("mongoose")
Schema = mongoose.Schema
Comment = new Schema {
author: String,
content: String,
approved: Boolean,
created: { type: Date, default: Date.now }
}
CommentModel = mongoose.model "Comment", Comment
module.exports = CommentModel
приложение/контроллеры/PostsController.coffee (Только один метод)
commentDestroy: (req, res, next) ->
Post.findBySlug req.params.slug, (err, doc) ->
if (err)
return next err
if doc == null
res.send 404
return
doc.comments.id(req.params.comment).remove()
doc.save (err) ->
if err
next err
res.json doc
Она заканчивается с ошибкой:
TypeError: Object [object Object],[object Object],[object Object],[object Object],[object Object] has no method 'id'
at Promise.PostsController.commentDestroy (/home/r41ngoloss/Projects/www/my-express/app/controllers/PostsController.js:88:22)
at Promise.addBack (/home/r41ngoloss/Projects/www/my-express/node_modules/mongoose/lib/promise.js:128:8)
at Promise.EventEmitter.emit (events.js:96:17)
at Promise.emit (/home/r41ngoloss/Projects/www/my-express/node_modules/mongoose/lib/promise.js:66:38)
at Promise.complete (/home/r41ngoloss/Projects/www/my-express/node_modules/mongoose/lib/promise.js:77:20)
at Query.findOne (/home/r41ngoloss/Projects/www/my-express/node_modules/mongoose/lib/query.js:1533:15)
at model.Document.init (/home/r41ngoloss/Projects/www/my-express/node_modules/mongoose/lib/document.js:229:11)
at model.init (/home/r41ngoloss/Projects/www/my-express/node_modules/mongoose/lib/model.js:192:36)
at Query.findOne (/home/r41ngoloss/Projects/www/my-express/node_modules/mongoose/lib/query.js:1531:12)
at exports.tick (/home/r41ngoloss/Projects/www/my-express/node_modules/mongoose/lib/utils.js:408:16)
Я уже пытался найти решение моей проблемы, но я нашел только this, и я думаю, что у меня есть схемы в правильном порядке (по требуется).
Спасибо за каждый ответ.
Спасибо! Это была ошибка! – user1607808