小编Eya*_*der的帖子

MongoDB allowDiskUse不工作..

专家们.

我是MongoDB的新手,但我知道自己遇到了麻烦......例如:

db.test.aggregate(
[
    {$group: {_id: {email: "$email", gender: "$gender"}, cnt: {$sum: 1}}}, 
    {$group: {_id: "$_id.email", cnt: {$sum: 1}}}, 
    {$match: {cnt: 2}}
], 
    {allowDiskUse : true}
)
Run Code Online (Sandbox Code Playgroud)

无论我尝试什么变化,我都会遇到同样的错误("Pass allowDiskUse:true to opt in"):

错误("打印堆栈跟踪")@:0()@src/mongo/shell/utils.js:37([对象数组],[对象对象])@src/mongo/shell/collection.js:866 @(壳):7

未捕获的异常:聚合失败:{"errmsg":"异常:来自mongo1.mscnet.com:27017的响应中收到错误:{$ err:\"超出$ group的内存限制,但不允许外部排序.传递allowDiskUse:true以选择加入. \",代码:16945}","code":16945,"ok":0}

仅供参考:我使用的是Mongo 2.6

mapreduce mongodb aggregation-framework

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

Aggregate()的MongoDB结果集

我开始与Mongo客户端做一些漂亮的查询和凝聚..但现在我想在.NET/C#中使用它,我看到我不能简单地将查询作为文本字段运行..

此外,在求助于构建聚合管道并运行collection.Aggregate()函数之后,我得到了一个结果集,但我不知道如何遍历它.

有人可以帮我指点吗?

这是我的代码:

var coll = db.GetCollection("animals");
var match = new BsonDocument {
    { "$match",   new BsonDocument {{"category","cats"}} }
};

var group = new BsonDocument{
    {
        "$group", new BsonDocument{
            {"_id", "$species"}, 
            {"AvgWeight", new BsonDocument{{"$avg", "$weight"}}} }
    }
};

var sort = new BsonDocument{{"$sort", new BsonDocument{{"AvgWeight", -1}}}};
var pipeline = new[] { match, group, sort };
var args = new AggregateArgs { Pipeline = pipeline };
var res = coll.Aggregate(args);

foreach (var obj in res)
{ 
   // WHAT TO DO …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc mongodb

5
推荐指数
1
解决办法
7377
查看次数

在Azure上连接到MongoDB(从客户端)

我正在尝试使用Azure VM设置我的MongoDB开发环境.VM启动并运行MongoDB 2.6.6,我可以通过SSH连接到VM并运行MongoDB.

但是,我无法从任何外部客户端(即cmd shell mongo客户端或robomongo)连接到Mongo.我正在使用提供给我的公共IP,并使用默认端口.我还尝试编辑/etc/mongodb.conf以指定端口号(端口= 27017),并重新启动了服务..但这似乎没有任何区别.

azure mongodb azure-virtual-machine

3
推荐指数
1
解决办法
4341
查看次数

Elixir 返回值

我尝试使用管道运算符 (|>) 将值从一个函数传递到另一个函数,但第一个函数的结果返回我的输出和“:ok”,然后影响后续 |> 输入的输入。

例子:

defmodule TestPipe do 
def parse(msg), do: IO.puts "Parsed: #{msg}"
end 


iex> "this is my message" |> Test.parse |> Test.parse
iex> Parsed: this is my message
iex> Parsed: ok
iex> :ok
Run Code Online (Sandbox Code Playgroud)

elixir

3
推荐指数
1
解决办法
752
查看次数