Tag: 本地

mongodb – 用nodejs加盖的集合

我正在尝试使用Node.js(使用本地MongoDB驱动程序)设置和更新MongoDB中的某些封顶集合。 我的目标是,在运行app.js时,将文档插入到加盖的集合中,还要更新封顶集合中的现有文档。 这两个都在setInterval()上运行,所以每隔几秒钟。 我的问题: 我想创build一个集合,如果集合尚不存在,但如果它我想要插入一个文档,而不是。 什么是正确的方法来检查这个? 有了capped集合,我甚至应该在插入任何内容之前先明确地创build它们? 通常情况下,我相信你可以直接插入一个集合而不需要明确地创build它们,但是在这种情况下,我需要确保它们是封闭的。 一旦封顶的集合存在,我知道如何插入新的文档,问题是我需要一些方法来处理应用程序正在使用的应用程序(在一个新的服务器上)集合尚不存在,我想使用节点来做这个创build,而不必跳进mongo cli。 这里的技巧是集合需要被封顶,所以我可以做一些事情: db.createCollection("collectionName", { capped : true, size : 100000, max : 5000 } ) 。 这将为我创build封顶的集合,但每次我调用它都会调用createCollection()而不是更新或插入 – 如果我调用createCollection() ,一旦集合已经存在,它会完全覆盖现有的集合吗? 另一种方法是将一个集合转换为一个封闭的集合: db.runCommand({"convertToCapped": "collectionName", size: 100000, max : 5000 }); 。 这个问题是节点没有看到runCommand()作为一个有效的function,它的错误。 还有什么别的,我打算叫这个工作? 它在mongo cli中工作,但不在节​​点内 您使用什么types的查询来查找集合中的第一个文档? 再次,在mongo cli中,我可以使用db.collections.find()和一些查询,但是在节点中它声明find()不是一个有效的函数 我将如何使用collection.update()将一些新的字段添加到现有的文档? 比方说,文档是一些简单的对象,如{key1: "value", key2: "value"}但是我有一个包含{key3: "value"} 。 关键3在当前文件中不存在,我将如何添加到目前存在的? 这与上面#4有些相关,因为find()似乎不能很好地与节点一起使用,所以我不确定要传入什么查询参数。

Node.js本地模块不是有效的Win32应用程序错误

试图为node.js制作Hello World本地模块 在VS 2012中有一个文件的Win32项目: #include <node.h> #include <v8.h> using namespace v8; Handle<Value> Method(const Arguments& args) { HandleScope scope; return scope.Close(String::New("world")); } void init(Handle<Object> target) { target->Set(String::NewSymbol("hello"), FunctionTemplate::New(Method)->GetFunction()); } NODE_MODULE(hello, init) 这个编译成hello.node。 选项: – dynamic库(.dll) – 没有公共语言运行时支持 像这样使用它: hello = require './hello' console.log hello.hello() 它在本地机器上运行(win8 x64,节点:0.8.12) 但是,在远程服务器(Windows Server 2008 x64,节点:0.8.12,iisnode:0.1.21 x64,iis7),它会引发此错误: 应用程序已经抛出一个未捕获的exception,并终止:错误: %1不是有效的Win32应用程序。 C:\的Inetpub \testing\ LIB […]

我可以使用node.js中的cheerio包加载本地html文件吗?

我有我的硬盘上的几个HTML文件,我想使用jquery从中提取数据。 这是可能做到使用cheerio? 我试图给当地的路上加油,但它不起作用。 我想到的一个想法是在节点中创build一个web服务器,从html文件中读取数据,然后通过服务器将其连接到cheerio,

npm不会在本地安装软件包。 怎么了?

我想在本地安装软件包,但是npm总是将软件包安装到全局位置。 我正在运行以下命令: npm install serialport 我没有.npmrc命令,我没有使用-g标志,所以我不知道为什么不在本地安装。 下面是configuration转储中的一个片段,显示global为false:$ npm config ls -l | grep global global = false globalconfig =“/ usr / local / etc / npmrc”globalignorefile =“/ usr / local / etc / npmignore” 而包仍然是这样安装的 serialport@0.7.3 ../../../../node_modules/serialport 所以,除非我对“本地”的含义完全错误,否则这似乎是错误的。 我的印象是“当地”在当前的工作目录中,以便我可以在我的主代码文件中做“要求”。 请参阅: http : //blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/ ,在前面的npm相关问题中提到。 有人可以给我一些提示吗? 非常感谢你。 PS它不是专用于串口模块。 这一切都发生在他们身上。

在PassportJS中使用多个本地策略

我正在尝试与PassportJS一起使用多个LOCAL策略。 我没有尝试使用本地,Facebook和Gmail等我有两组用户存储在单独的对象,我想使用本地策略来validation两者。 就目前而言,我不能使用相同的本地策略,因为它们具有不同的对象属性,这使我查询了不同的对象。 有没有办法做到这一点? 或任何build议,将不胜感激。