- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Express/Mongoose 和后端开发的新手。我正在尝试在我的架构中使用 Mongoose 子文档并将数据从表单发布到 MLab 数据库。
当我只使用父架构时,我成功地发布到数据库,但是当我尝试也从子文档发布数据时,我收到了一个未定义的错误。如何正确地从子文档发布数据?
这是我的架构:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const bookSchema = new Schema({
bookTitle: {
type: String,
required: true
},
author: {
type: String,
required: true
},
genre: {
type: String
}
});
const userSchema = new Schema({
name: String,
username: String,
githubID: String,
profileUrl: String,
avatar: String,
// I've tried this with bookSchema inside array brackets and also
//without brackets, neither works
books: [bookSchema]
});
const User = mongoose.model('user', userSchema);
module.exports = User;
这是我尝试 POST 到数据库的路径:
router.post('/', urlencodedParser, (req, res) => {
console.log(req.body);
const newUser = new User({
name: req.body.name,
username: req.body.username,
githubID: req.body.githubID,
profileUrl: req.body.profileUrl,
avatar: req.body.avatar,
books: {
// All of these nested objects in the subdocument are undefined.
//How do I properly access the subdocument objects?
bookTitle: req.body.books.bookTitle,
author: req.body.books.author,
genre: req.body.books.genre
}
});
newUser.save()
.then(data => {
res.json(data)
})
.catch(err => {
res.send("Error posting to DB")
});
});
最佳答案
想通了。我没有使用点表示法正确访问这些值。
books: {
// All of these nested objects in the subdocument are undefined.
//How do I properly access the subdocument objects?
bookTitle: req.body.books.bookTitle,
author: req.body.books.author,
genre: req.body.books.genre
}
无需访问 books 对象内的 .books
。 req.body.books.bookTitle
应该是 req.body.bookTitle
等等。留下这篇文章以防它对其他人有帮助。
关于javascript - Mongoose 和 express : POST data from subdocument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56266606/
我的数据库架构如下所示: { "_id" : 137, "name" : "Tamika Schildgen", "scores" : [ { "score" : 4.4339
我正在寻找有关关闭属性选择的正确语法的帮助,该属性是一组子文档。我希望有一些类似的东西: var UserSchema = new Schema( { fb_id
我正在执行一个循环和更新,类似于this . 我有一个包含如下字段的现有文档: "field1" : { "field2" : [] } 使用空数组。 使用 Java,如何将文档放入空数组中?
我有以下型号: 产品: var ProductSchema = new Schema({ name: String, comments: [{ type: Schema.Types.ObjectId,
我一直在尝试通过 _id 在找到的文档中获取子文档。 示例架构 var User = mongoose.Schema({ name: String, pho
我有以下 mongo 集合: { "_id" : ObjectId("000000000001"), "username" : "user1", "password" : "p
我是 Express/Mongoose 和后端开发的新手。我正在尝试在我的架构中使用 Mongoose 子文档并将数据从表单发布到 MLab 数据库。 当我只使用父架构时,我成功地发布到数据库,但是当
具有以下更新查询: var template = {name:'my_name', ...}; ApplicationModel.update({ _id: idApplication
我有一个名为 Routine 的类,它具有属性名称和练习。 RoutineExercises 类型的 ArrayList 中的练习。 当我将我的例程写入我的 Firestore 数据库时,它会像它应该
在 mongoose 上,有一个很好的选项可以默认使用 select: false 选项从查询中删除一些字段。 例如: var FileSchema = new Schema({ filename
我在 dotnetcore 2.1 中使用 MongoDB.Driver nuget 包。我正在尝试返回集合中的文档列表,其中子文档字段等于我拥有的列表中包含的任何项目。理想情况下,我需要在 C# 语
我在 mongoose 中有一个 upsert 查询,它在 3.8 中运行,但是在我升级到 4 之后,我得到了 Unable to invalidate a subdocument that has
我已经开始学习Mongo了。给定以下集合,例如所谓的帖子,我将如何将新评论插入到现有文档中?我在 mongo 网站上看到的示例是针对“简单”集合的。感谢您的帮助。 { "_id" : ObjectId
例如我们有收藏 {field: {subfield: 'name'}} {field: {subfield: 'phone'}} 我可以找到没有点符号的文档吗?像这样 db.test.find({fi
我正在尝试在聚合上使用 $filter 。我需要过滤一个名为“extras”的数组,该数组至少与他的一个“季节”与给定的“日期”相交。 这里是一个例子: var from = new Date(201
我有一个使用expressjs和mongoosejs编写的Web api。 应用程序中的主架构包含一个子文档permissions,其中包含数组字段。这些数组包含可以对该文档执行操作的用户 ID。 我
通过指定 fields 参数,可以轻松管理 db.find() 结果集中某些字段的存在(我使用 Meteor 并在服务器端测试所有查询, 在发布功能中)。说 Meteor.collection.fin
我是一名优秀的程序员,十分优秀!