小编Bat*_*eam的帖子

mongod 检测到不洁关机

我尝试开始,mongod.exe但我有,我收到以下错误:

C:\MongoDB\Server\30\bin>mongod.exe 
2015-12-16T19:12:17.108+0100 I CONTROL 2015-12-16T19:12:17.110+0100 W CONTROL  32-bit servers don't have journaling enabled by default. 
Please use --journal if you want durability.
2015-12-16T19:12:17.110+0100 I CONTROL 
2015-12-16T19:12:17.120+0100 I CONTROL  Hotfix KB2731284 or later update is not installed, will zero-out data files 
2015-12-16T19:12:17.132+0100 I STORAGE  [initandlisten] ************** 
2015-12-16T19:12:17.132+0100 I STORAGE  [initandlisten] Error: journal files are present in journal directory, yet starting without journaling enabled.
2015-12-16T19:12:17.133+0100 I STORAGE  [initandlisten] It is recommended that you start with journaling enabled so that …
Run Code Online (Sandbox Code Playgroud)

repair shutdown mongodb

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

MongoDB选择并连接字段

我有一个非常基本的问题:

SELECT name, surname CONCAT(name, surname) AS name_surname from users;
Run Code Online (Sandbox Code Playgroud)

如何将此转换SQL为MongoDB查询?

在我的搜索,我已经决定,这是可能的,由于总的框架concat,但我收到的仅仅是projection的concat(name, surname)不是name,surname和concat(name, surname).

我得到的最后一件事是这个查询:

db.inroamers.find().forEach(
                 function(o) { 
                 print(o.LAC + '-' + o.CELL + ' ' + o.CHARGE + ' ' + o.WEEK);
               })
Run Code Online (Sandbox Code Playgroud)

但它没有给我正确的json数组.

有什么建议?

javascript mongodb

2
推荐指数
1
解决办法
2254
查看次数

Nodejs Mongodb 获取日期之间的数据

我已date使用以下逻辑将我的时间戳保存为时间戳:

var timestamp = Math.floor(new Date().getTime()/1000);
timestamp =145161061
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个问题吗?

我需要查找日期之间的记录,并且我的日期以时间戳格式存储,如上所示。

mongoose mongodb node.js

2
推荐指数
1
解决办法
6883
查看次数

项目阶段操作符在投影数组中的行为

我的问题与此密切相关,但并不相似.

我的收藏中有一个示例文档:

db.t.insert({"a":1,"b":2});
Run Code Online (Sandbox Code Playgroud)

我的目的是投影一个名为combinedtype 的字段array,其值为both a和btogether.([1,2]).

我只是尝试与一个$project阶段聚合:

db.t.aggregate([
{$project:{"combined":[]}}
])
Run Code Online (Sandbox Code Playgroud)

MongoDB抛出一个错误:disallowed field type Array in object expression.

这意味着不能将字段投影为数组.

但是当我使用$cond运算符投影数组时,该字段会被投影.

db.t.aggregate([
{$project:{"combined":{$cond:[{$eq:[1,1]},["$a","$b"],"$a"]}}}
])
Run Code Online (Sandbox Code Playgroud)

我得到了o/p : {"combined" : [ "$a", "$b" ] }.

如果您注意到输出,则将a和的值b视为文字,而不是字段路径.

任何人都可以向我解释这种行为吗?当我让条件失败时,

db.t.aggregate([
{$project:{"combined":{$cond:[{$eq:[1,2]},["$a","$b"],"$a"]}}}
])
Run Code Online (Sandbox Code Playgroud)

我得到的预期输出$a被视为一个字段路径,因为$a它不是作为数组元素包含的.

mongodb aggregation-framework

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

如何通过特定模式从字符串中提取子字符串

我有一个String对象DUMMY_CONTENT_DUMMY ,之前或之后的_部分实际上都是乱码所需要的是两个下划线之间的那个.有没有办法在java中提取该内容?也许我要写一个regex?

java

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

MongoDB将对象与对象数组聚合在一起?

这是我收藏中的一部分json:

[{"company":"Lenovo", "models": 
    [{"model":"ThinkPad T400", "gens": 
        [{"gen":"3", "start":2012},
        {"gen":"2", "start":2008},
        {"gen":"1", "start":2004}]
    }...]
}...]
Run Code Online (Sandbox Code Playgroud)

我试图提出一个聚合命令,该命令将返回以下内容:

[{ "_id":"Lenovo", 
  "models":[{ "model": "ThinkPad T400", 
              "gens":["1","2","3"]
            }...]
}...]
Run Code Online (Sandbox Code Playgroud)

我已经尝试了以下聚合命令,但是没有用:

db.makes.aggregate([{
    $group:{
        _id: '$company',
        models: { $push:  { 
            model: "$models.model", 
            gen: "$models.gens.gen"
        }} 
    } 
}])
Run Code Online (Sandbox Code Playgroud)

我得到这个结果:

[{ "_id":"Lenovo", 
  "models":[{ "model": ["ThinkPad T400"], 
              "gens":[ ["1","2","3"] ]
            }...]
}...]
Run Code Online (Sandbox Code Playgroud)

可能是因为每个我的对象都有一个对象数组(模型),而这些对象也有一个对象数组(Gens)。

对MongoDB的正确要求是什么,它将使我得到预期的结果?

mongodb aggregation-framework

0
推荐指数
1
解决办法
2065
查看次数