草庐IT

Sails-Mongo

全部标签

mongodb - 使用 C# 驱动查询特定的 mongo secondary

我有一个mongo(2.0.3)副本集。如果我使用标准c#驱动程序连接到特定节点(即我的连接字符串不包括多个主机),并指定slaveOk(),该查询是否会被集合中的随机成员满足,或者仅曾经通过我连接的节点吗?如果是前者,我该如何实现后者?谢谢。 最佳答案 如果您的连接字符串只有一个主机名(并且没有replicaSet=name或connect=replicaSet),C#驱动程序将以直接模式连接到该服务器并仅使用它。副本集语义(它使用整个集合)通过列出多个主机名(称为种子列表)或使用replicaSet=name或connect=r

mongodb - Mongo block 上的内联映射/减少吗?

我知道因为map/reduce写入集合需要获取全局写锁,但是如果我将输出设置为内联,这不是写入内存吗?它似乎仍然在抢锁。这对Mongo2.0来说可能是正常的吗? 最佳答案 使用内联模式,输出基本上作为单个文档返回,将您限制为最大文档大小,因此您可能会看到行为或响应时间的差异,因为您返回了更大的结果?在锁定方面,Map/Reduce作业可以被认为是许多更小的操作(包括写入)。首先,有一个javascript锁,这样在一个时间点只有一个线程可以执行JS代码,所以是单线程的,至少目前是这样。但是MR的大多数JS步骤(例如单个map())都

ruby - Mongo::OperationFailure - 使用 from_uri 时需要登录

我的目标是连接我的heroku/mongolab数据库,但我一直收到此错误:Mongo::OperationFailureat/mongotest/a/b:needtologinfile:networking.rblocation:send_message_with_gleline:89我使用的代码是:client=Mongo::MongoClient.from_uri(ENV['MONGOLAB_URI'])db=client.db('test')testcoll=db['testcoll']testcoll.insert({:'_id'=>"def",:'test'=>"woopd

php - Mongo 类不会在 Yii 控制台应用程序中自动加载

我正在使用Yii&mongodb(YiiMongoDbSuite扩展),并创建了一个控制台应用程序。但它不工作给出错误,include(Mongo.php):failedtoopenstream:Nosuchfileordirectoryinfile/var/www/yii/framework/YiiBase.phpatline418我已将console.php配置为包含所有模块、组件和模型。但是还是报错。 最佳答案 Mongo类是phpmongo扩展的一部分,与YiiMongoDbSuite无关。这意味着未加载mongophp扩展

node.js - 如何从 node-mongo native 驱动程序获取数据库实例?

考虑一下,我在主app.js文件本身中打开了MongoDB连接,下面的代码属于它的回调:mongodb.connect('MongoDBUrlGoesHere',function(err,db){app.listen(app.get('port'),functionAppListnCB(){console.log("Serverlisteningonport"+app.get('port'));});});这一切都是为了在整个应用程序中只有一个数据库实例。现在,如果我们在另一个external.js文件中并且需要一个已经连接的相同db对象。如果我们使用mongoskin,这可以很容易地

mongodb - Mongo 最大索引大小

蒙戈Docs讨论最大索引大小。IndexKeyThetotalsizeofanindexedvaluemustbelessthan1024bytes.MongoDBwillnotaddthatvaluetoanindexifitislongerthan1024bytes.使用db.collection.stats(),我可以看到我的平均文档大小为5MB。如果我在占文档50%的字段上建立索引,是否意味着索引大小将是50%*5MB=2.5MB?我对如何为单个文档计算索引大小感到困惑。 最佳答案 我不确定您为什么要尝试索引如此大的字段,但

mongodb - 求和 Mongo 子文档数组

db.test3.find(){"_id":1,"results":[{"result":{"cost":[{"priceAmt":100}]}}]}我尝试了以下失败:db.test3.aggregate({$group:{_id:"",total:{$sum:$results.result.cost.priceAmt"}}},{$project:{_id:0,total:1}}){"result":[{"total":0}],"ok":1}编辑期望的输出:100//每个“priceAmt”的总和 最佳答案 您必须使用$unwind

mongodb - Mongo _id 作为字符串索引键。是好是坏?

我正在开发一个API,获取资源的唯一方法是提供一个字符串键,如my_resource。覆盖_id是一个好习惯(这使一些mongodb驱动程序更易于使用)还是不好?从长远来看呢?谢谢 最佳答案 如果有比ObjectID更自然的主键(例如,字符串值),请随意使用。ObjectID的目的是允许分布式客户端根据standardformula快速独立地生成唯一标识符。.12字节的ObjectID公式包括一个4字节的时间戳、3字节的机器标识符、2字节的进程ID和一个以随机值开头的3字节的计数器。如果您生成/分配您自己的唯一标识符(即使用字符串)

mongodb - 以编程方式更新 Mongo 和 Meteor 中的字段

我有一个要更新的收藏集。该字段以编程方式给出,所以我想做这样的事情:varupdate_string='coordinates.lat';varupdate=function(value,id,update_string){Collection.update({_id:id},{$set:{update_string:value}})}但这不起作用,只是将“update_string”设置为在集合中具有_id{{id}}的对象中具有值{{value}}。我也试过varupdate_string="'coordinates.lat'";无济于事。我该如何实现?谢谢。

mongodb - Sails.js mongodb map 减少

我正在将sails与sails-mongo结合使用,并且希望对整个集合执行聚合。我想重用waterline使用的连接对象,而不是创建到mongodb服务器的全新连接。此连接对象是否在某处可用,它是否可以执行任何查询类型?这是基于水线/sails目前无法进行聚合的理解。 最佳答案 听起来您正在寻找.native方法,该方法返回原始节点mongo集合实例。这允许您使用nativeMongo方法。例如,如果您在Sails中创建一个User模型,您可以:User.native(function(err,userCollection){use