从meteor中处理mongodb相关事物的语法看起来似乎总是需要知道文档的collection's name
到update, insert, remove or anything
。
我想知道的是,是否可以从流星文档的collection's name
字段中获取_id
。
如果您的文档的_id
等于TNTco3bHzoSFMXKJT
,则表示这意味着。现在知道您要查找_id
collection
document
所在文档的{{1}}。这可以通过meteor实现mongodb或vanilla mongodb来实现吗?
答案 0 :(得分:0)
idGeneration 字符串
在此集合中生成新文档的_id字段的方法。可能的值:
'STRING':随机字符串 'MONGO':随机Meteor.Collection.ObjectID值
默认的id生成技术是'STRING'。
您最好的选择是伪事务中的insert
条记录,其中第二步是使用id
和集合名称将其提供给参考集合。然后,您可以从中进行查找。
虽然构建你的find
会花费很多,但如果你正在构建一个用户将创建任意数据模式的应用程序,那么这可能是值得探索的模式。
答案 1 :(得分:0)
您可以通过对所有集合执行findOne
来实现此目的:
var collectionById = function(id) {
return _.find(_.keys(this), function(name) {
if (this[name] instanceof Meteor.Collection) {
if (this[name].findOne(id)) {
return true;
}
}
});
};
我在客户端和服务器上测试了它,并且在全局环境中运行时似乎有效。