天道酬勤,学无止境

无法通过浏览器访问 mongodb - 看起来您正在尝试通过本机驱动程序端口上的 HTTP 访问 MongoDB(Cannot access mongodb through browser - It looks like you are trying to access MongoDB over HTTP on the native driver port)

问题

我打开终端并输入以下命令

sudo mongod

然后输出

[initandlisten] waiting for connections on port 27017

我打开另一个终端并输入

sudo mongo

打开 mongo shell 并提示输入 mongo 命令,但是当我转到 localhost/27017 时,我收到以下消息:

It looks like you are trying to access MongoDB over HTTP on the native driver port.

我用快递创建了一个简单的应用程序的NodeJS,当我POST数据似乎MongoDB的被挂了。 这是我在启动快速应用程序的终端中收到的消息,页面从不发布数据。 所以我相信问题出在 mongo 内部,但我无法弄清楚。

POST /info 200 120002ms

这是我的快递代码

var Info = require('../models/info');
var path = require('path');
var fs = require('fs');
var join = path.join;

exports.form = function(req,res){

    res.render('info', {
        myName: 'Michael'
    });
};

exports.submit = function(){
console.log('Within exports.submit 1');
    return function(req,res,next){
        console.log('Within exports.submit 2 ');
        var firstName = req.name.first;
        var lastName = req.name.last;
        Info.create({
            firstName: firstName,
            lastName: lastName
        },function(err){
            if(err) return next(err);

            res.redirect('/')
        });
    }
};

模型

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/info');

var schema = new mongoose.Schema({
    firstName: String,
    lastName: String
});

module.exports = mongoose.model('info',schema);

应用程序.js

...
app.get('/info',info.form);
app.post('/info',info.submit);
...
回答1

在 Mongo 3.6 之前

你可以从 mongodb 开始

mongod --httpinterface

并访问它

http://localhost:28017

从 2.6 版开始:MongoDB 默认禁用 HTTP 接口。

更新

HTTP 接口和 REST API

MongoDB 3.6 删除了已弃用的 HTTP 接口和 REST API 到 MongoDB。

见Mongo http接口和rest api

回答2

默认情况下,MongoDB 在 28017 有一个简单的基于 Web 的管理端口。

默认端口 27017 上没有 HTTP 访问(这是错误消息试图建议的)。 默认端口用于本地驱动程序访问,而不是 HTTP 流量。

要访问 MongoDB,您需要使用 NodeJS 的 MongoDB 本机驱动程序等驱动程序。 您不会直接“发布”到 MongoDB(但您可以使用使用本机驱动程序的 express 创建一个 RESTful API)。 相反,您将使用一个包装库来方便访问 MongoDB。 您还可以考虑使用 Mongoose(使用本机驱动程序),它在 NodeJS 中为 MongoDB 添加了一个类似 ORM 的模型。

如果您无法访问 Web 界面,则它可能已被禁用。 通常,除非您正在检查日志等,否则我不希望您需要它来进行开发。

回答3

就像之前提到的评论一样,消息“看起来您正在尝试通过本地驱动程序端口上的 HTTP 访问 MongoDB。” 这是一个警告,因为您误解了这一行: mongoose.connect('mongodb://localhost/info'); 并浏览此网址:http://localhost:28017/

但是,如果您想查看 mongo 的管理网页,可以使用以下命令:

mongod --rest --httpinterface

浏览这个网址:http://localhost:28017/

参数 httpinterface 激活管理网页,参数 rest 是激活页面所需的其余服务所需的参数

回答4

我在 ubuntu 14.04 并且 mongod 注册为新贵服务。 这篇文章中的答案让我朝着正确的方向前进。 为了使 upstart 服务能够正常工作,我必须做的唯一调整是编辑/etc/mongod.conf 。 寻找以下几行:

# Enable the HTTP interface (Defaults to port 28017).
# httpinterface = true

只需删除httpinterface前面的#并重新启动mongod服务:

sudo restart mongod

注意:您还可以通过在上面提到的 httpinterface 行正下方添加一行显示rest=true来启用 rest 接口。

回答5

MongoDB 的 HTTP 接口自 3.2 版起已弃用 :)

检查 Mongo 文档:HTTP 状态接口

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 电晕,Phonegap,钛之间的比较(Comparison between Corona, Phonegap, Titanium)
    问题 已锁定。 该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。 它目前不接受新的答案或互动。 我是一名网络开发人员,我想将我的网络产品迁移到iPhone。 其中一种产品类似于Google Maps:在手机屏幕上显示地图,您可以拖动或调整地图大小并查看我们添加到地图中的一些信息。 我知道有一些技术可以使您使用HTML,CSS和Javascript开发本机iPhone应用程序。 我确定了一些: 安斯卡手机电话间隙加速器 还有其他类似的产品吗? 它们之间有什么区别? 我应该选择哪一个? 回答1 我在stackoverflow上注册只是为了评论顶部投票最多的答案。 不好的是stackoverflow不允许新成员发表评论。 因此,我必须使此评论更像是一个答案。 罗里·布莱斯(Rory Blyth)的答案包含有关两个javascript移动框架的一些有效观点。 但是,他的要点是不正确的。 事实是Titanium和PhoneGap相似而不是不同。 它们都通过一组javascript API公开了手机功能,并且应用程序的逻辑(html,css,javascript)在本机WebView控件中运行。 PhoneGap不仅仅是Web应用程序的本机包装。 通过PhoneGap javascript API,“网络应用”可以访问手机功能,例如地理位置,加速度计摄像头,联系人,数据库,文件系统等
  • 使用React Native时我有哪些存储数据的选项? (iOS和Android)[关闭](What are my options for storing data when using React Native? (iOS and Android) [closed])
    问题 关门了。 这个问题需要更加集中。 它当前不接受答案。 想要改善这个问题吗? 更新问题,使其仅通过编辑此帖子即可将重点放在一个问题上。 1年前关闭。 改善这个问题 我在React Native领域还是移动/本地领域仍然是新手,在数据持久性方面,我发现文档有些缺乏。 我在React Native中存储数据有哪些选择以及每种类型的含义? 例如,我看到有本地存储和异步存储,但是随后我也看到了诸如Realm之类的东西,而且我很困惑所有这些如何与外部数据库一起使用。 我特别想知道: 数据持久性有哪些不同的选择? 对于每个持久性,此持久性有什么限制(即何时不再可用数据)? 例如:关闭应用程序,重新启动手机等。 对于每一种,在iOS和Android中实现之间是否存在差异(除了常规设置以外)? 这些选项与离线访问数据的比较如何? (或者通常如何处理离线访问?) 我还有其他注意事项吗? 谢谢你的帮助! 回答1 这是我在确定一些当前应用程序项目的最佳方法时所学到的。 异步存储(以前是“内置”到React Native,现在可以自行移动) 我将AsyncStorage用于生产中的应用程序。 存储位于设备本地,未加密(如另一个答案所述),如果删除应用程序,则存储消失,但应保存为设备备份的一部分,并在升级期间保持不变(包括本机升级ala TestFlight和通过CodePush进行的代码升级) )。
  • node.js数据库[关闭](node.js database [closed])
    问题 从目前的情况来看,这个问题不适合我们的问答形式。 我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。 如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我正在寻找与node.js应用配对的数据库。 我假设使用json / nosql数据库比使用关系数据库更好[我可以在没有json / sql阻抗不匹配的情况下进行操作]。 我正在考虑: 长沙发 mongodb Redis 任何人对node.js的看法/战争故事是否具有上述兼容性/可部署性? 有明确的收藏夹吗? 回答1 我是node.js的mongodb驱动程序的开发人员。 我正在为自己的项目使用mongodb,并且对mongodb的性能非常满意。 适用于node.js的Mongodb驱动程序 (无耻的插头)请随时询问有关驱动程序的任何问题 适用于mongodb驱动程序的Google组 或在这里Stackoverflow 玩转node.js。 我绝对喜欢这个平台:D 回答2 尽管您的选择很大程度上取决于要使用的功能,但我非常感谢CouchDB的本机JavaScript环境。 数据和视图都是用JavaScript编写的,因此我认为它非常适合node.js。 也有不同的客户端库可用,其中一些是较低级别的,其他的确实非常抽象。 但是正如我所说
  • MongoDB-CR身份验证失败(MongoDB-CR Authentication failed)
    问题 验证用户时出现以下错误:purchase_user @ purchase失败。 MongoDB-CR身份验证失败。 当我通过浏览器访问Web服务时,用户文档中的凭证丢失。 但是我能够从mongo验证purchase_user,它返回1。 回答1 转到mongoDB控制台并删除当前用户,并将authSchema版本设置为3而不是5,在mongo控制台中遵循以下命令- mongo use admin db.system.users.remove({}) <== removing all users db.system.version.remove({}) <== removing current version db.system.version.insert({ "_id" : "authSchema", "currentVersion" : 3 }) 现在重新启动mongod并创建新用户,然后它将正常工作。 注意:如果在生产环境中使用update,则仅在test db中使用remove命令。 Kubernetes Helm Chart的认证信息 如果删除所有用户并在配置中启用了身份验证(或在Kubernetes掌舵图表上默认设置的--auth参数),则无法再访问MongoDB。 禁用身份验证,创建新用户然后重新启用它是必需的。 在Kubernetes上,您需要编辑参数并添加-
  • 通过浏览器连接到mongodb吗?(Connecting to mongodb through the browser?)
    问题 我正在阅读mongodb指南,但我没有得到: mongodb://fred:foobar@localhost 它说我可以通过网络浏览器连接到mongodb。 我已经尝试过了,但是没有用。 Safari / Firefox无法识别mongodb协议。 我为什么要这样做呢? mongodb服务器不只是用于通过命令行连接吗? 端口27017和28017有什么区别? 我应该通过http还是mongodb协议进行连接? 回答1 当启动mongod(MongoDB守护程序)时,默认情况下它将开始在两个端口上侦听。 27017 :各种MongoDB驱动程序访问的默认端口。 28017 :用于处理HTTP请求并提供一些常规监视的端口。 您列出的mongodb://fred:foobar@localhost实际代表了这一点: mongodb://fred:foobar@localhost:27017 ,这是MongoDB驱动程序的访问协议。 您看到的另一个“事物”是端口28017。(默认情况下)这只是该服务器上mongod实例所发生情况的概述。 从Web浏览器对此端口发出的请求将显示服务器概述的HTML输出。 如果您使用其他端口号(例如:7777 )启动mongod ,则“ monitor”端口将始终高出1000(即:8777 )。 如果您需要一些高级功能,例如通过Web浏览器查询的功能
  • 从Mongoose模型中找到的本机驱动程序未返回游标(Native driver find from Mongoose model not returning Cursor)
    问题 我正在尝试通过Mongoose Model的collection属性执行本机MongoDB find查询。 我没有提供回调,所以我希望查找结果返回一个Cursor对象,但它返回的是undefined 。 根据Mongoose的文档,正在使用的驱动程序可通过YourModel.collection访问,如果我切换为仅使用本机驱动程序代码,则find会返回Cursor因此我无法弄清楚发生了什么。 这是重现该问题的代码片段: var db = mongoose.connect('localhost', 'test'); var userSchema = new Schema({ username: String, emailAddress: String }); var User = mongoose.model('user', userSchema); var cursor = User.collection.find({}); // cursor will be set to undefined 我试图通过node-inspector进入代码,但这并没有让我失望。 知道我在做什么错吗? 回答1 所有本机驱动程序方法都可以在nextTick上运行,因此不会返回驱动程序的返回值。 相反,您可以传递一个回调,而返回的第二个arg是游标。 User.collection.find({}
  • 使用MongoClient v3.0时db.collection不是函数(db.collection is not a function when using MongoClient v3.0)
    问题 我一直在尝试使用MongoDB在nodeJS上进行W3schools教程。 当我尝试在nodeJS环境中实现此示例并通过AJAX调用调用该函数时,出现以下错误: TypeError: db.collection is not a function at c:\Users\user\Desktop\Web Project\WebService.JS:79:14 at args.push (c:\Users\user\node_modules\mongodb\lib\utils.js:431:72) at c:\Users\user\node_modules\mongodb\lib\mongo_client.js:254:5 at connectCallback (c:\Users\user\node_modules\mongodb\lib\mongo_client.js:933:5) at c:\Users\user\node_modules\mongodb\lib\mongo_client.js:794:11 at _combinedTickCallback (internal/process/next_tick.js:73:7) at process._tickCallback (internal/process/next_tick.js:104:9)
  • 在本机和电话差距之间挣扎,简单的应用程序要求(Struggling between native and phonegap, simple app requirements)
    问题 我将要制作一个本地的(意思是;不在浏览器中)移动应用程序。 由于我是一名Web开发人员,因此我在努力决定是否应该尝试Phonegap还是只使用Java或Objective-c构建本机应用程序。 应用程序要求很简单。 GPS / wifi位置,Facebook集成,我想我需要一个数据库来处理一些特定于应用程序的Facebook朋友关系。 例如,像游戏中的高分一样。 我是一个网络开发人员,并且还不了解Java或Objective-C。 我以前从未使用过Phonegap,所以我不知道它是否能够满足我的要求。 所以我的问题如下: 我可以在我的应用程序中使用Phonegap,还是需要深入学习新语言? 回答1 有关的: 也可以在这里找到本文的较大版本,透明起见,这是我的个人博客。 混合与本地应用 混合应用程序: 优点: 加快开发速度,特别是如果您是一位长期的Web开发人员。 在每个可用的平台上都可以使用1种语言。 当然,这需要一个Phonegap包装器。 您无需学习Objective C,Java或C#即可进行任何开发。 您只需要了解Phonegap实现的基础知识。 您将需要使用上述语言,但是您不需要了解它们。 Phonegap可以提供一些本机功能,例如iOS本机选项卡栏或Android本机选项卡栏等等。 较低的预算成本以及庞大的支持者和开发者社区。 混合应用程序提供两种方法的许多优点
  • 如何通过jenssegers将MongoDB聚合查询转换为Laravel MongoDB(How to convert MongoDB aggregation query to Laravel MongoDB by jenssegers)
    问题 我的MongoDB集合称为改变它包含以下数据 { "date" : ISODate("2014-06-09T00:00:00.000Z"), "field" : "ip", "from" : "157.11.209.123", "to" : "107.21.109.254" } { "date" : ISODate("2014-05-15T00:00:00.000Z"), "field" : "ip", "from" : "107.21.109.254", "to" : "157.11.209.123" } { "date" : ISODate("2014-06-09T00:00:00.000Z"), "field" : "registration", "from" : "Old service", "to" : "Some new service" } 然后,我想进行一个典型的SQL查询来统计出现次数,并按field其分组。 因此,我已经在MongoDB中创建了查询 db.changes.group({ "key": { "field": true }, "initial": { "count": 0, }, "reduce": function(obj, prev) { prev.count++; }, }); 它工作正常,但如何将其转换为可与Laravel 4一起使用?
  • MongoDB和Mongoose之间的区别(Difference between MongoDB and Mongoose)
    问题 我想使用mongodb数据库,但我注意到有两个不同的数据库,它们都有自己的网站和安装方法:mongodb和mongoose。 因此,我问自己一个问题:“我使用哪个?”。 因此,为了回答这个问题,我问社区是否可以解释这两者之间的区别? 以及是否有利弊? 因为它们看起来和我非常相似。 回答1 我假设您已经知道MongoDB是一个NoSQL数据库系统,它以BSON文档的形式存储数据。 但是,您的问题是关于Node.js的软件包的。 就Node.js而言,mongodb是用于与mongodb实例进行交互的本机驱动程序,而mongoose是用于MongoDB的对象建模工具。 Mongoose建立在MongoDB驱动程序之上,为程序员提供了一种对其数据进行建模的方法。 编辑:我不想评论哪个更好,因为这会使这个答案自以为是。 但是,我将列出使用这两种方法的优点和缺点。 使用Mongoose,用户可以为特定集合中的文档定义架构。 它为MongoDB中的数据创建和管理提供了很多便利。 不利的一面是,学习猫鼬可能会花费一些时间,并且在处理非常复杂的模式时会有一些限制。 但是,如果您的收集模式是不可预测的,或者您想在Node.js中体验类似Mongo-shell的体验,那么请继续使用MongoDB驱动程序。 这是最简单的拿起。 不利之处在于,您将不得不编写大量代码来验证数据,并且出错的风险更高。
  • 数十亿行的最佳数据存储(Best data store for billions of rows)
    问题 我需要能够存储少量数据(大约50-75字节)以存储数十亿条记录(一年约30亿条/月)。 唯一的要求是对具有相同GUID的所有记录进行快速插入和快速查找,并能够从.net访问数据存储。 我是一名SQL Server专家,我认为SQL Server可以做到这一点,但是在所有有关BigTable,CouchDB和其他nosql解决方案的讨论中,由于优化分布式查询和扩展。 我尝试过cassandra,.net库当前无法编译或全部更改(以及cassandra本身)。 我已经研究了许多可用的nosql数据存储,但是找不到一个能够满足我作为健壮的生产就绪平台的需求的数据存储。 如果您必须存储360亿条小型平面记录,以便可以从.net进行访问,那么会选择什么,为什么呢? 回答1 使用SQL Server可以存储约3.5TB的数据并以大约1K / sec的速率24x7插入,并以未指定的速率进行查询,但是SQL Server可以实现此功能,但是还有更多问题: 您对此有什么可用性要求? 正常运行时间为99.999%,还是足够95%? 您有什么可靠性要求? 缺少插入物会花费您100万美元吗? 您有什么可恢复性要求? 如果您丢失一天的数据,这有关系吗? 您有什么一致性要求? 是否需要保证写操作在下一次读取时可见? 如果您需要我强调的所有这些要求,那么无论您尝试使用哪种俩(分片,分区等)
  • 无法创建/打开锁定文件:/data/mongod.lock errno:13权限被拒绝(Unable to create/open lock file: /data/mongod.lock errno:13 Permission denied)
    问题 我如何让mongo在ec2上使用已安装的驱动器? 我真的不明白。 我在ec2上附加了一个以root用户身份格式化驱动器的卷,并以root用户身份启动,但是以root用户身份我无法访问? 我正在Ubuntu 12.04上运行。 没有其他mongo在运行 我看到mongo在/ data中创建了一个'db'目录,即/ data / db cd / ls -al drwxr-xr-x 4 root root 4096 Mar 5 16:28 data cd /data ls -al total 28 drwxr-xr-x 4 root root 4096 Mar 5 16:28 . drwxr-xr-x 24 root root 4096 Mar 5 16:28 .. drwxr-xr-x 2 root root 4096 Mar 5 16:28 db drwx------ 2 root root 16384 Mar 5 16:20 lost+found sudo mkfs.ext3 /dev/xvdh sudo mkdir /data sudo su - -c 'echo "/dev/xvdh %s auto noatime 0 0" | sudo tee -a /etc/fstab' sudo mount /data sudo service mongodb start
  • 如何使用Windows开发机为iPhone开发?(How can I develop for iPhone using a Windows development machine?)
    问题 想要改善这篇文章吗? 提供此问题的详细答案,包括引文和为什么您的答案正确的解释。 答案不够详细的答案可能会被编辑或删除。 有什么方法可以修补Windows计算机上的iPhone SDK? 是否有针对Windows的iPhone SDK版本的计划? 我可以想到的唯一另一种方法是在Windows上运行的VMWare服务器上运行Mac VM映像,尽管我不太确定这样做的合法性。 回答1 当然可以在Windows机器上进行开发,实际上,我的第一个应用程序是在当时使用的旧Dell Precision上独家开发的:) 有三条路线; 在第二个分区/磁盘上安装OSx86(又名iATKOS / Kalyway)并进行双引导。 在VMWare下运行Mac OS X Server(从Mac OS X 10.7(Lion)开始,请阅读下面的更新)。 使用Delphi XE4和macincloud服务。 这是一个商业工具集,但是对组件和库的支持正在增长。 第一条路线要求修改(或使用预先修改的)可以安装在常规PC上的Leopard映像。 尽管您的成功/努力比率将取决于PC上的硬件与Mac上的硬件匹配程度,例如,如果您在带有NVidia的Intel主板上运行Core 2 Duo,这并不像您想的那样难。您在笑的图形卡。 如果您运行的是AMD机器或没有SSE3的机器,那么它会涉及到更多。 如果您购买(或已经拥有
  • PHP友好的NoSQL解决方案(PHP-friendly NoSQL solutions [closed])
    问题 从目前的情况来看,这个问题不适合我们的问答形式。 我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。 如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我正在为下一个项目使用NoSQL解决方案,该解决方案将用PHP编写。 可以通过PHP轻松进行接口的NoSQL解决方案,我有哪些选择? 我还没有对体系结构做很多思考,所以我不确定我的需求是什么。 我只想知道我的选择是什么,所以我不会构建无法合理实现的东西。 例如,我知道Cassandra有Pandra,但这只是一个PHP库。 MongoDB具有本机PECL扩展。 回答1 CouchDB具有PHPillow: PHPillow是CouchDB的面向对象的包装器。 可以在下载页面上找到发行版。 Apache CouchDB是可通过RESTful HTTP / JSON API访问的分布式,容错和无模式的面向文档的数据库。 除其他功能外,它还提供了具有双向冲突检测和解决方案的强大的增量复制功能,并且可以使用面向表的视图引擎(以JavaScript作为默认视图定义语言)进行查询和建立索引。 另请参见http://nosql-database.org以获得良好的概述。 回答2 我为MongoDB写了PHP驱动程序,我认为它是一个很棒的接口:)
  • 与PHP共享Laravel身份验证/会话(Share Laravel authentication/session with PHP)
    问题 我正在尝试将Laravels身份验证与许多简单的HTML / Javascript应用程序一起使用。 我认为理想的工作方式是这样的: 用户访问简单的HTML应用程序简单的HTML应用程序包括一个PHP文件,该文件检查用户是否已通过身份验证。 如果不是这种情况,则将用户发送到Laravel应用程序进行登录,如果用户已登录,则可以简单地使用该应用程序。 用户通过Laravel登录,然后重定向回HTML应用程序,在此该过程将重新开始。 我遇到的问题是检查用户是否已在PHP脚本中登录。 Laravels会话在那里不可用(并通过session_start()和$_SESSION["auth"] = true共享它只会将该变量添加到本机PHP会话的Laravels版本中)。 这些是我在app/config/session.php return array( 'driver' => 'native', 'lifetime' => 120, 'files' => storage_path().'/sessions', 'connection' => null, 'table' => 'sessions', 'lottery' => array(2, 100), 'cookie' => 'laravel_session', 'path' => null, 'domain' => null, )
  • 如何使用Windows开发机为iPhone开发?(How can I develop for iPhone using a Windows development machine?)
    问题 想要改善这篇文章吗? 提供此问题的详细答案,包括引文和为什么您的答案正确的解释。 答案不够详细的答案可能会被编辑或删除。 有什么办法可以在Windows计算机上修补iPhone SDK? 是否有针对Windows的iPhone SDK版本的计划? 我可以想到的唯一另一种方法是在Windows上运行的VMWare服务器上运行Mac VM映像,尽管我不太确定这样做的合法性。 回答1 当然可以在Windows机器上进行开发,实际上,我的第一个应用程序是在当时使用的旧Dell Precision上独家开发的:) 有三条路线; 在第二个分区/磁盘上安装OSx86(又名iATKOS / Kalyway)并进行双引导。 在VMWare下运行Mac OS X Server(从Mac OS X 10.7(Lion)开始,请阅读下面的更新)。 使用Delphi XE4和macincloud服务。 这是一个商业工具集,但是对组件和库的支持正在增长。 第一条路线要求修改(或使用预先修改的)可以安装在常规PC上的Leopard映像。 尽管您的成功/努力比率将取决于PC上的硬件与Mac上的硬件匹配程度,例如,如果您在带有NVidia的Intel主板上运行Core 2 Duo,这并不像您想的那样难。您在笑的图形卡。 如果您运行的是AMD机器或没有SSE3的机器,那么它会涉及到更多。 如果您购买(或已经拥有
  • Spring Data MongoDB和批量更新(Spring Data MongoDB and Bulk Update)
    问题 我正在使用Spring Data MongoDB,并希望像此处描述的那样执行批量更新:http://docs.mongodb.org/manual/reference/method/Bulk.find.update/#Bulk.find.update 使用常规驱动程序时,它看起来像这样: 以下示例为items集合初始化Bulk()操作构建器,并将各种多重更新操作添加到操作列表中。 var bulk = db.items.initializeUnorderedBulkOp(); bulk.find( { status: "D" } ).update( { $set: { status: "I", points: "0" } } ); bulk.find( { item: null } ).update( { $set: { item: "TBD" } } ); bulk.execute() Spring Data MongoDB有什么方法可以达到类似的结果吗? 回答1 spring-data-mongodb 1.9.0.RELEASE支持批量更新。 这是一个示例: BulkOperations ops = template.bulkOps(BulkMode.UNORDERED, Match.class); for (User user : users) { Update
  • 通过网站与现金抽屉进行通信(Communicate with Cash Drawer from Website)
    问题 我目前正在为我的公司构建POS解决方案。 最难的部分是购买现金抽屉,因为我对它们没有太多的经验,因此更喜欢使用USB现金抽屉。 我找到了我感兴趣的模特 CR-4005 http://www.thebarcodewarehouse.co.uk/epos-systems/cash-drawers/cr-4005-b/ 供应商包括一个驱动程序,可以在这里找到 http://www.posiflexusa.com/driver.php 这允许您使用dll文件打开抽屉等。 给出的代码示例如下: Public Declare Function OpenUSB Lib "usbcr.dll" () As Long 我对C有轻微的经验,但是对于Google,我敢肯定我可以弄清楚这部分。 我遇到的问题是该解决方案实际上只是一个在异地托管的网站,我需要做的是从网站发布命令到使用它的客户端计算机。 这样,当他们完成销售后,我便可以打开该特定机器的抽屉。 我需要澄清的是我如何去做。 例如,假设我将驱动程序安装在客户端计算机上并插入了现金抽屉。然后,当他们访问站点时,我需要执行上面显示的C命令来打开抽屉。 我遇到的问题是如何解决这个问题。 当然,如果我在服务器上执行命令,它将有效地查看服务器的USB端口并尝试打开抽屉。 而不是将命令发布到客户端计算机。 因此,为了解决此问题
  • 将Heroku App连接到Atlas MongoDB Cloud服务(Connecting Heroku App to Atlas MongoDB Cloud service)
    问题 为了解决这个问题,我是否需要在Heroku上获得SSL支持,以便使用SSL在Heroku和Atlas MongoDB Cloud之间建立连接? (访问Atlas MongoDB Cloud服务需要TSL / SSL连接)。 我试图将用node.js编写的Heroku应用程序连接到Atlas MongoDB Cloud托管的集群。 我当前的数据库托管在mLab(作为Heroku插件)上,用于通过猫鼬访问集群的MongoDB URI是(使用xxx省略机密信息): MONGODB_URI="mongodb://xxx:xxx@xxx-a0.mlab.com:23266,xxx-a1.mlab.com:xxx/xxx?replicaSet=rs-xxx" 现在,我已将数据从mLab迁移到Atlas MongoDB Cloud,现在我正在使用URI访问集群: MONGODB_URI="mongodb://xxx:xxx@cluster0-shard-xxx.mongodb.net:xxx,cluster0-shard-xxx.mongodb.net:xxx,cluster0-shard-xxx.mongodb.net:xxx/xxx?replicaSet=xxx&ssl=true&authSource=admin" 在我的机器上本地运行Heroku App时,我可以毫无问题地访问数据库
  • 无法连接到网络共享(Unable to connect to network share)
    问题 我正在尝试从浏览器连接到网络共享(通过UNC),但是无法连接。 如果我从命令行运行脚本,那么一切都很好,我可以访问共享。 我也可以通过Windows的文件浏览器导航到它,因此我认为我的代码或Windows帐户的权限没有任何问题。 我的脚本如下所示: $dir = '\\\\some\path'; if (is_dir($dir)) { echo 'dir exists'; } else { echo 'dir does not exist'; } 我也尝试使用DirectoryIterator($dir) ,但是会引发此异常错误: PHP Warning: opendir(...): Access is denied. (code: 5) PHP Warning: opendir(...): Access is denied. (code: 5) 这是我的设置: -Windows Server 2008 R2 -IIS 7.5 -PHP 5.3.13 -匿名身份验证已禁用 -启用Windows身份验证 我在php.ini中有以下配置设置: cgi.force_redirect=0 cgi.fix_pathinfo=1 fastcgi.impersonate=1 更令人困惑的是,在以下情况下,我能够通过浏览器进行连接: 1-使用system("net use \"".$dir