小编Ste*_*non的帖子

我们如何通过npm与Meteor一起使用节点模块?

我们如何通过npm与Meteor一起使用节点模块?

或者那些依赖于包装API的东西

或者是否建议使用规定的方法?

javascript node.js npm meteor

47
推荐指数
4
解决办法
2万
查看次数

如何删除或删除会话变量?

Meteor有一个Session,它在客户端上提供一个全局对象,可用于存储任意一组键值对.用它来存储列表中当前所选项目之类的内容.

它支持Session.set,Session.get和Session.equals.

如何删除会话名称,值对?我找不到Session.delete(名字)?

meteor

42
推荐指数
3
解决办法
2万
查看次数

如何在流星应用程序中为mongodb添加两列唯一ID?

我试图在流星应用程序中的底层mongodb上创建一个两列唯一索引并遇到麻烦.我在流星文档中找不到任何内容.我试过Chrome控制台.我从学期开始尝试,甚至试图将mongod指向/ db/dir里面的.meteor.我试过了

Collection.ensureIndex({first_id: 1, another_id: 1}, {unique: true}); 变化.

我希望能够防止meteor app mongo集合上的重复条目.

想知道是否有人想出这个?

我回答了自己的问题,这是一个菜鸟.

我想到了.

  1. 启动流星服务器

  2. 打开第二个终端并输入 meteor mongo

然后创建你的索引...例如我为thumbsup和thumbsdown类型系统的记录做了这些.

db.thumbsup.ensureIndex({item_id: 1, user_id: 1}, {unique: true})
db.thumbsdown.ensureIndex({item_id: 1, user_id: 1}, {unique: true})
Run Code Online (Sandbox Code Playgroud)

现在,只需要找出一个引导安装设置,在设置为推送而不是手动时创建这些设置.

javascript mongodb meteor

26
推荐指数
2
解决办法
8471
查看次数

如何在meteor.com上的Meteor应用程序中部署节点模块?

我有一个应用程序,它使用可通过的节点twit模块

npm install twit
Run Code Online (Sandbox Code Playgroud)

我从.meteor/local/build/server /本地部署了节点模块

因此,它在.meteor/local/build/server/node_modules/twit中可见

我尝试在项目根目录下安装它,但项目没有找到模块.这使我得到了上述有效的解决方案.

我的应用程序现在运行正常.我可以运行并做所有事情,并可以从我的Meteor服务器端或客户端与Twitter进行交互,具体取决于我想要做什么.没有崩溃.

当我通过命令部署到meteor.com时

meteor deploy [appname] --password
Run Code Online (Sandbox Code Playgroud)

应用程序成功部署.

当我尝试从浏览器访问(anonistream.meteor.com上的应用程序)[anonistream.meteor.com]时,它失败并且日志包含此错误.

[Mon May 07 2012 01:59:53 GMT+0000 (UTC)] WARNING
node.js:201
   throw e; // process.nextTick error, or 'error' event on first tick
         ^
Error: Cannot find module 'twit'
at Function._resolveFilename (module.js:332:11)
at Function._load (module.js:279:25)
at Module.require (module.js:354:17)
at require (module.js:370:17)
at app/server/server.js:2:12
at /meteor/containers/84162a7c-24e8-bf26-6fd8-e4ec13b2a935/bundle/server/server.js:111:21
at Array.forEach (native)
at Function.<anonymous>
 (/meteor/containers/84162a7c-24e8-bf26-6fd8-     e4ec13b2a935/bundle/server/underscore.js:76:11)
at /meteor/containers/84162a7c-24e8-bf26-6fd8-e4ec13b2a935/bundle/server/server.js:97:7
[Mon May 07 2012 01:59:53 GMT+0000 (UTC)] INFO STATUS running -> waiting
[Mon …
Run Code Online (Sandbox Code Playgroud)

meteor

19
推荐指数
3
解决办法
6525
查看次数

我如何在流星中记录某些东西?

我可以在底层的.meteor/local/build/server/node_modules中使用像winston npm这样的东西吗?

甚至是node-loggly

javascript node.js meteor

14
推荐指数
2
解决办法
9618
查看次数

如何在Meteor中创建用户服务器端?

在新的Meteor auth分支中,如何创建用户服务器端?

我看到如何通过调用来创建客户端

[Client] Meteor.createUser(options, extra, callback)
Run Code Online (Sandbox Code Playgroud)

但是假设我想在启动时创建一个Meteor用户集合记录?

例如,启动/引导应用程序期间的管理员帐户?

谢谢Steeve

meteor

14
推荐指数
3
解决办法
2万
查看次数

我们在一个Meteor项目中将npm安装的节点模块放在哪里?

我跟着github meteorirc项目的主角并将它们放入/ public /

我从内部/ public /通过npm安装了我的节点模块,因此我有一个/ public/node_modules /目录.

我不认为这是他们的'正确'或'标准'的地方,因为根据Meteor文档......

Meteor收集所有JavaScript文件,不包括客户端和公共子目录下的任何内容,并将它们加载到光纤内的Node.js服务器实例中

要加载的代码位于服务器目录和服务器js文件中,看起来像这样.

var require = __meteor_bootstrap__.require;

var path = require("path");
var fs = require('fs');
var base = path.resolve('.');
if (base == '/'){
  base = path.dirname(global.require.main.filename);   
}

var Twit;
var twitPath = 'node_modules/twit';
var publicTwitPath = path.resolve(base+'/public/'+twitPath);
var staticTwitPath = path.resolve(base+'/static/'+twitPath);
if (path.existsSync(publicTwitPath)){
  Twit = require(publicTwitPath);
}
else if (path.existsSync(staticTwitPath)){
  Twit = require(staticTwitPath);
}
else{
  console.log('WARNING Twit not loaded. Node_modules not found');
}
Run Code Online (Sandbox Code Playgroud)

根据文档,这不是标准的,我不相信我应该这样做.然而,它在我的开发平台和部署meteor.com的生产中都有效.

在项目的目录结构中应该安装节点模块,以便它们在本地工作,并在meteor.com或其他地方部署?

javascript meteor

10
推荐指数
1
解决办法
7411
查看次数

meteor无法通过跳过或限制来观察查询

我可能在文档中遗漏了一些非常明显或遗漏的东西.我搜索过,没有找到类似的问题.张贴它.

这两个

return Items.find({},{sort: {time: -1}, limit: 10});
Run Code Online (Sandbox Code Playgroud)

要么

return Items.find({},{sort: {time: -1}).limit(10);
Run Code Online (Sandbox Code Playgroud)

造成 meteor cannot observe queries with skip or limit

javascript mongodb meteor

9
推荐指数
1
解决办法
6140
查看次数

Meteor collection.insert回调问题

根据Meteor文档....

collection.insert(doc, [callback])

回调函数

可选的.如果存在,则使用错误对象作为第一个参数并将_id作为第二个参数调用.

......然后......

在服务器上,如果您不提供回调,则插入块直到数据库确认写入,或者如果出现错误则抛出异常.如果确实提供了回调,则立即返回.插件完成(或失败)后,将使用错误和结果参数调用回调,与方法相同.

它是什么,错误和_id或错误和结果?我确实有Meteor.methods正确触发它们的回调错误,结果可用于范围.

我只是无法使回调在collection.insert(doc,[callback])上正常工作

无论哪种方式,我无法让我的回调注册任何东西?

function insertPost(args) {
  this.unblock;
  if(args) { 
    post_text = args.text.slice(0,140);
    var ts = Date.now();  
    Posts.insert({
      post: post_text,
      created: ts
    }, function(error, _id){
      // or try function(error, result) and still get nothing 
      // console.log('result: ' + result);
      console.log('error: ' + error);
      console.log('_id: ' + _id); //this._id doesn't work either
    });

  }
  return;
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我从早上2点开始编码...下午6点我的时区...我很模糊,所以我可能(可能)遗漏了一些非常明显的东西.

干杯斯蒂夫

meteor

8
推荐指数
2
解决办法
7127
查看次数

如何在Meteor中的Mongo查询中将变量用作字段名称?

如何在Meteor应用程序的Mongo查询中使用变量作为字段名称.

这是一个例子......

这会在大写子集的父ID的集合名称后,在我的请求控制器集合上运行查找.孩子是用户字段.

window[Meteor.request.controller.capitalise()]["find"]({ _id: Session.get('parent_id'), users: params.child }).count()
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我的控制器是集合项的变量名,它允许我有一行代码来查找控制器/集合的子代,但我需要能够将子字段名设置为变量.在上面的例子中,这将是用户,但我希望它是一个变量名.

我试过这个,但它不起作用.

window[Meteor.request.controller.capitalise()]["find"]({ _id: Session.get('parent_id'), [Session.get('child_collection_name').decapitalise()]: params.child }).count()
Run Code Online (Sandbox Code Playgroud)

哪里

Session.get('child_collection_name').decapitalise()
Run Code Online (Sandbox Code Playgroud)

返回用户

有任何想法吗?如果我能弄清楚如何在meteor中使用mongo查询中的变量名,那么它将大大减少我的代码占用空间.

javascript mongodb meteor

8
推荐指数
1
解决办法
5957
查看次数

标签 统计

meteor ×10

javascript ×6

mongodb ×3

node.js ×2

npm ×1