MeteorJs 的 CodeMirror 错误
CodeMirror error with MeteorJs
我正在使用 meteorJs 1.4 并尝试使用 mizzao:sharejs-codemirror
包但是当我尝试使用它时我总是收到这个错误
failed to get ops for tNvo2iHyPAamPeHAd: MongoError: Failed to parse:
sort: "_id.v". 'sort' field must be of BSON type Object.
这是一些代码:服务器端
this.Documents = new Mongo.Collection("documents");
Meteor.startup(() => {
if(!Documents.findOne()){
Documents.insert({title:"new Document"});
}
});
客户端:
this.Documents = new Mongo.Collection("documents");
Template.editor.helpers({
docid:function(){
myDocument = Documents.findOne();
if(myDocument){
return myDocument._id;
}
else{
return undefined;
}
}
});
标记:
<head>
<title>textcircle</title>
</head>
<body>
<h1>welcome to textcircle</h1>
{{> editor}}
</body>
<template name="editor">
{{> sharejsCM docid=docid id="editor"}}
</template>
谁能给我解释一下这是什么意思。谢谢。
我 运行 你的代码和 sharejs-cm 没有给我带来任何麻烦,我认为你应该在你的客户端代码上定义 'myDocument' 作为变量,然后再在条件,即使 meteor 没有抱怨... javascript 会拿走你给它的任何东西,并且不会总是告诉你为什么它会失败。
var myDocument = Documents.findOne();
如果您仍然遇到问题,请更具体地说明所显示的错误。
此致。
我不确定这是否对您的情况完全有帮助,但显然 Meteor 1.4 和 shareJS / CodeMirror 存在一些问题(查看存储库以获取更多信息),因此这是一种解决方法。我正在 运行ning Meteor 1.4 并且还使用 shareJS / CodeMirror 构建了一个应用程序但是我的会卡在代码镜像窗格中的 "loading..." / div 并且无法进一步(在 Firefox 上使用Ubuntu)。首先,我尝试了 "meteor reset" 但没有解决问题。我尝试将 运行ning Meteor 作为带有命令开关的先前版本,但 MongoDB 将无法启动。我尝试使用 1.3.x 创建一个项目,但仍然遇到同样的问题,但是当我创建一个新的 Meteor 应用程序版本 1.2.1 时,它工作正常并且 CodeMirror 窗格正常工作。
要创建新的 Meteor 1.2.1 应用程序,运行:
meteor create [appName] --release 1.2.1
为了让它正常运行,我从我的 1.4 应用程序复制了我的客户端和服务器文件,并删除了自动生成的文件。我注释掉了导入语句,但除此之外它非常顺利。只需添加您正在使用的包,您很可能必须添加会话,但这应该会让您起床 运行ning。
我遇到的问题与您的完全相同,我使用的是 Metero 1.4.2.3。
我使用 meteor reset 重置了我的项目,它对我有用!
一旦你停止你的服务器,你将需要在 运行 之前再次重置它,否则你会得到那个 MongoError。烦人,但它是一种修复...... :-(
此错误与您在应用程序中使用的流星版本有关。基本上是版本不匹配。在您的命令提示符中尝试 运行 此代码。
流星更新--all-packages
这对我有用。
我正在使用 meteorJs 1.4 并尝试使用 mizzao:sharejs-codemirror
包但是当我尝试使用它时我总是收到这个错误
failed to get ops for tNvo2iHyPAamPeHAd: MongoError: Failed to parse: sort: "_id.v". 'sort' field must be of BSON type Object.
这是一些代码:服务器端
this.Documents = new Mongo.Collection("documents");
Meteor.startup(() => {
if(!Documents.findOne()){
Documents.insert({title:"new Document"});
}
});
客户端:
this.Documents = new Mongo.Collection("documents");
Template.editor.helpers({
docid:function(){
myDocument = Documents.findOne();
if(myDocument){
return myDocument._id;
}
else{
return undefined;
}
}
});
标记:
<head>
<title>textcircle</title>
</head>
<body>
<h1>welcome to textcircle</h1>
{{> editor}}
</body>
<template name="editor">
{{> sharejsCM docid=docid id="editor"}}
</template>
谁能给我解释一下这是什么意思。谢谢。
我 运行 你的代码和 sharejs-cm 没有给我带来任何麻烦,我认为你应该在你的客户端代码上定义 'myDocument' 作为变量,然后再在条件,即使 meteor 没有抱怨... javascript 会拿走你给它的任何东西,并且不会总是告诉你为什么它会失败。
var myDocument = Documents.findOne();
如果您仍然遇到问题,请更具体地说明所显示的错误。
此致。
我不确定这是否对您的情况完全有帮助,但显然 Meteor 1.4 和 shareJS / CodeMirror 存在一些问题(查看存储库以获取更多信息),因此这是一种解决方法。我正在 运行ning Meteor 1.4 并且还使用 shareJS / CodeMirror 构建了一个应用程序但是我的会卡在代码镜像窗格中的 "loading..." / div 并且无法进一步(在 Firefox 上使用Ubuntu)。首先,我尝试了 "meteor reset" 但没有解决问题。我尝试将 运行ning Meteor 作为带有命令开关的先前版本,但 MongoDB 将无法启动。我尝试使用 1.3.x 创建一个项目,但仍然遇到同样的问题,但是当我创建一个新的 Meteor 应用程序版本 1.2.1 时,它工作正常并且 CodeMirror 窗格正常工作。
要创建新的 Meteor 1.2.1 应用程序,运行:
meteor create [appName] --release 1.2.1
为了让它正常运行,我从我的 1.4 应用程序复制了我的客户端和服务器文件,并删除了自动生成的文件。我注释掉了导入语句,但除此之外它非常顺利。只需添加您正在使用的包,您很可能必须添加会话,但这应该会让您起床 运行ning。
我遇到的问题与您的完全相同,我使用的是 Metero 1.4.2.3。 我使用 meteor reset 重置了我的项目,它对我有用! 一旦你停止你的服务器,你将需要在 运行 之前再次重置它,否则你会得到那个 MongoError。烦人,但它是一种修复...... :-(
此错误与您在应用程序中使用的流星版本有关。基本上是版本不匹配。在您的命令提示符中尝试 运行 此代码。
流星更新--all-packages
这对我有用。