我尝试开始,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) 我有一个非常基本的问题:
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数组.
有什么建议?
我已date使用以下逻辑将我的时间戳保存为时间戳:
var timestamp = Math.floor(new Date().getTime()/1000);
timestamp =145161061
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我解决这个问题吗?
我需要查找日期之间的记录,并且我的日期以时间戳格式存储,如上所示。
我的问题与此密切相关,但并不相似.
我的收藏中有一个示例文档:
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它不是作为数组元素包含的.
我有一个String对象DUMMY_CONTENT_DUMMY
,之前或之后的_部分实际上都是乱码所需要的是两个下划线之间的那个.有没有办法在java中提取该内容?也许我要写一个regex?
这是我收藏中的一部分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的正确要求是什么,它将使我得到预期的结果?