在Mongoose文档中的以下地址:http :
//mongoosejs.com/docs/embedded-
documents.html
有一条声明:
DocumentArrays具有一个特殊的方法ID,该ID通过其_id属性(每个嵌入式文档获取一个)来过滤嵌入式文档:
考虑以下代码段:
post.comments.id(my_id).remove();
post.save(function (err) {
// embedded comment with id `my_id` removed!
});
我的问题是:
文档是否正确?如果是这样,那么我如何找出“ my_id”是什么(在示例中),以便首先执行 “ .id(my_id)” ?
如果文档不正确,可以安全地将索引用作文档数组中的ID,或者我应该手动生成唯一的ID(根据所提到的内容)。
而不是对像这样的json对象执行push()(猫鼬文档建议的方式):
// create a comment
post.comments.push({ title: 'My comment' });
您应该创建一个嵌入式对象的实际实例push()
,而不是实际实例。然后,您可以直接从中获取_id字段,因为猫鼬在实例化对象时对其进行设置。这是一个完整的示例:
var mongoose = require('mongoose')
var Schema = mongoose.Schema
var ObjectId = Schema.ObjectId
mongoose.connect('mongodb://localhost/testjs');
var Comment = new Schema({
title : String
, body : String
, date : Date
});
var BlogPost = new Schema({
author : ObjectId
, title : String
, body : String
, date : Date
, comments : [Comment]
, meta : {
votes : Number
, favs : Number
}
});
mongoose.model('Comment', Comment);
mongoose.model('BlogPost', BlogPost);
var BlogPost = mongoose.model('BlogPost');
var CommentModel = mongoose.model('Comment')
var post = new BlogPost();
// create a comment
var mycomment = new CommentModel();
mycomment.title = "blah"
console.log(mycomment._id) // <<<< This is what you're looking for
post.comments.push(mycomment);
post.save(function (err) {
if (!err) console.log('Success!');
})
我用Mongoose定义了以下模式: 我尝试执行以下查询: 查询不响应,并且从不进入回调函数。这很奇怪,因为这种类型的查询(搜索两个字符串字段)适用于我定义的另一个模式,但不适用于这个模式。另一种模式更简单,不需要任何嵌入文档。 [更新] 我试过你的建议,但不行。我认为只有两个选择: 1.我发布的模式有问题。 多谢!
我很好奇在我的主模式中使用子文档和更深层文档的利弊: 或者 我目前到处都在使用subdocs,但我主要想知道我可能遇到的性能或查询问题。
有人知道谷歌电子表格嵌入URL参数是否有任何官方文档吗? 也就是说,给定一个来自Google表单的嵌入URL,如下所示:https://docs.google.com/a/aicr.org/spreadsheet/pub?key=0AhExuVBhVYT1dGxxejBmUHAzYUhGb25veTRkdW1YekE 争论是做什么的? 还有哪些参数是默认情况下不包括的? 经过大量的挖掘和寻找,我发
Mongoose 是在 Node.js 异步环境下对 MongoDB 进行便捷操作的对象模型工具。 让我们面对这样的困境,编写MongoDB验证,转换和业务逻辑是非常麻烦的。所以我们发明了Mongoose。 Mongoose为模型提供了一种直接的,基于scheme结构去定义你的数据模型。它内置数据验证, 查询构建,业务逻辑钩子等,开箱即用。
问题内容: 我使用Mongoose.js,无法解决3级层次结构文档的问题。 有2种方法可以做到。 首先 -没有裁判。 我需要出示C记录。仅知道_id的C,如何填充/找到它? 我曾尝试使用: 但是我不知道如何从returnet得到一个对象,我只需要c对象。 其次,如果使用裁判: 如何填充所有B,C记录以获取层次结构? 我试图使用这样的东西: 但是它将为single_c.title返回undefine
您可以在Perl模块和脚本中嵌入Pod(Plain Old Text)文档。 以下是在Perl代码中使用嵌入式文档的规则 - 使用空行开始您的文档,在开头使用a = head1命令,然后使用= cut结束它 Perl将忽略您在代码中输入的Pod文本。 以下是在Perl代码中使用嵌入式文档的简单示例 - #!/usr/bin/perl print "Hello, World\n"; =head1 H