- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一份教育机构文件,看起来像这样:
{ name: ..., addresses: [...], courses: [ {name: ... , duration: ..., tags[...]} ] }
标签有一个字符串数组。
我正在尝试找到一门包含一些标签的类(class),例如:java、eclipse、struts 等...
我的搜索方法如下所示:
public BasicDBList coordinates(List tags){
BasicDBObject cmdBody = new BasicDBObject("aggregate", "EducationalInstitution");
List<BasicDBObject> pipeline = new ArrayList<BasicDBObject>();
BasicDBObject projectParams = new BasicDBObject();
projectParams.put("name", 1);
projectParams.put("addresses.state", 1);
projectParams.put("addresses.locs", 1);
projectParams.put("courses", 1);
pipeline.add(new BasicDBObject("$project", projectParams));
pipeline.add(new BasicDBObject("$unwind", "$addresses"));
pipeline.add(new BasicDBObject("$unwind", "$courses"));
pipeline.add(new BasicDBObject("$match", new BasicDBObject("courses.tags", new BasicDBObject("$all", tags))));
cmdBody.put("pipeline", pipeline);
return (BasicDBList) getDatastore().getDB().command(cmdBody).get("result");
}
{ "_id" : ... , "name" : "X25" , "addresses" : { "state" : "DF" , "locs" : [ -15.806789 , -47.912779]} , "courses" : { "name" : "Microsoft Office Word 2010" , "duration" : 22 , "tags" : [...]}}
{ "_id" : ... , "name" : "X25" , "addresses" : { "state" : "DF" , "locs" : [ -15.806789 , -47.912779]} , "courses" : { "name" : "Microsoft Office Excel 2010" , "duration" : 18 , "tags" : [...]}}
{ "_id" : ... , "name" : "X25" , "addresses" : { "state" : "DF" , "locs" : [ -15.806789 , -47.912779]} , "courses" : { "name" : "Microsoft Office PowerPoint 2010" , "duration" : 14 , "tags" : [...]}}
{ "_id" : ... , "name" : "ENG" , "addresses" : { "state" : "DF" , "locs" : [ -15.797209 , -47.883596]} , "courses" : { "name" : "MS Visio" , "duration" : 0 , "tags" : [...]}}
{ "_id" : ... , "name" : "ENG" , "addresses" : { "state" : "DF" , "locs" : [ -15.797209 , -47.883596]} , "courses" : { "name" : "Acrobat Professional" , "duration" : 12 , "tags" : [...]}}
{ "_id" : ... , "name" : "ENG" , "addresses" : { "state" : "DF" , "locs" : [ -15.797209 , -47.883596]} , "courses" : { "name" : "Framemaker" , "duration" : 0 , "tags" : [...]}}
{ "_id" : ... , "name" : "ENG" , "addresses" : { "state" : "PR" , "locs" : [ -25.431803 , -49.279532]} , "courses" : { "name" : "MS Visio" , "duration" : 0 , "tags" : [...]}}
{ "_id" : ... , "name" : "ENG" , "addresses" : { "state" : "PR" , "locs" : [ -25.431803 , -49.279532]} , "courses" : { "name" : "Acrobat Professional" , "duration" : 12 , "tags" : [...]}}
{ "_id" : ... , "name" : "ENG" , "addresses" : { "state" : "PR" , "locs" : [ -25.431803 , -49.279532]} , "courses" : { "name" : "Framemaker" , "duration" : 0 , "tags" : [...]}}
{ "_id" : ... , "name" : "ENG" , "addresses" : { "state" : "SP" , "locs" : [ -23.574942 , -46.71048]} , "courses" : { "name" : "MS Visio" , "duration" : 0 , "tags" : [...]}}
{ "_id" : ... , "name" : "ENG" , "addresses" : { "state" : "SP" , "locs" : [ -23.574942 , -46.71048]} , "courses" : { "name" : "Acrobat Professional" , "duration" : 12 , "tags" : [...]}}
{ "_id" : ... , "name" : "ENG" , "addresses" : { "state" : "SP" , "locs" : [ -23.574942 , -46.71048]} , "courses" : { "name" : "Framemaker" , "duration" : 0 , "tags" : [...]}}
{ "_id" : ... , "name" : "X25" , "addresses" : { "state" : "DF" , "locs" : [ -15.806789 , -47.912779]} , "courses" : [{ "name" : "Microsoft Office Word 2010" , "duration" : 22 , "tags" : [...]}, { "name" : "Microsoft Office Excel 2010" , "duration" : 18 , "tags" : [...]}, { "name" : "Microsoft Office PowerPoint 2010" , "duration" : 14 , "tags" : [...]}]}
{ "_id" : ... , "name" : "ENG" , "addresses" : { "state" : "DF" , "locs" : [ -15.797209 , -47.883596]} , "courses" : [{ "name" : "MS Visio" , "duration" : 0 , "tags" : [...]}, { "name" : "Acrobat Professional" , "duration" : 12 , "tags" : [...]}, { "name" : "Framemaker" , "duration" : 0 , "tags" : [...]}]}
{ "_id" : ... , "name" : "ENG" , "addresses" : { "state" : "PR" , "locs" : [ -25.431803 , -49.279532]} , "courses" : [{ "name" : "MS Visio" , "duration" : 0 , "tags" : [...]}, { "name" : "Acrobat Professional" , "duration" : 12 , "tags" : [...]}, { "name" : "Framemaker" , "duration" : 0 , "tags" : [...]}]}
{ "_id" : ... , "name" : "ENG" , "addresses" : { "state" : "SP" , "locs" : [ -23.574942 , -46.71048]} , "courses" : [{ "name" : "MS Visio" , "duration" : 0 , "tags" : [...]}, { "name" : "Acrobat Professional" , "duration" : 12 , "tags" : [...]}, { "name" : "Framemaker" , "duration" : 0 , "tags" : [...]}]}
最佳答案
您可以在 shell 中使用 $push 运算符和 $group 管道运算符,如下所示:
db.t.aggregate([{$unwind:'$b'},{$unwind:'$c'},{$group:{_id:'$b',cs:{$push:'$c'}}}])
pipeline.add(new BasicDBObject("$group", new BasicDBObject(new BasicDBObject("_id", groupParams)).append("courses", new BasicDBObject("$push", "$courses"))));
关于java - $unwind $push Mongo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18435066/
我有一个从 A View Controller 到 B View Controller 的 unwind segue。 在B中做了一个网络操作,操作完成后,响应会显示在A View Controlle
我刚刚意识到,在当前的 Xcode 8 beta 6 中,当我将展开操作连接到例如模态呈现的 View Controller 中的条形按钮项目以展开模态呈现转场并呈现 View Controller
我是 mongodb 聚合的新手。我的 mongo 文档有很多数组。我需要将其导出为平面文件。为此,我需要构建它。我尝试了以下聚合: [ {$unwind : "$items" }, {$unwind
我正在尝试使用 De Bruijn 指数定义 lambda 演算项。我在 OS X 上使用 swi prolog。 如果我使用自然数的 zero|successor 表示,我可以交互式地完成部分指定的
我是 mongodb 聚合的新手。我的 mongo 文档有很多数组。我需要将其导出为平面文件。为此,我需要构建它。我尝试了以下聚合: [ {$unwind : "$items" }, {$unwind
有了这些数据: { "_id" : ObjectId("576948b4999274493425c08a"), "virustotal" : { "scan_id" :
我想要$unwind 2 个字段,school 和home。数据库结构是这样的; { "id" : 1, "school" : [ { "pat
考虑这组测试结果: [{ _id: ObjectId(...), name: "Test1", acts: [ { name: "act1",
我想要 go 中的结果,因为 mongo shell 提供给我。 在 mongo shell 中数据是这样的: db.user.aggregate([{$unwind:"$user"}]).prett
这个问题 - Is it possible to get a slice of a slice in Mongo?涵盖了如何在 Mongo 中获取切片。简而言之,使用聚合链来$unwind、$skip
我有一个用户集合,其中每个文档具有以下结构: { "_id": "", "login": "xxx", "solved": [ { "problem": "",
在 MongoDB 聚合框架中,我希望在对象(即 JSON 集合)上使用 $unwind 运算符。看起来不像是 possible ,有解决方法吗?有计划实现吗? 例如,从聚合 documentatio
假设我有一个名为节点的参数: "nodes": [ { "name": "John", "age": 18.0, "label": "Person",
我的文档有一个字段symptoms,它是一个数组的数组。 我想$unwind它并应用$addToSet删除重复项, 然后只需更新文档即可。怎么做 ? 文档 "symptoms": [ [
我正在编写一个非常简单的应用程序,它有两个 View Controller - FirstVC 和 SecondVC。在 FirstVC 上,我加载了一个视频 (apples.mp4),它在后台(在我
我在想,在聚合管道中为嵌套数组的文档使用 $unwind 运算符是否会以与数组中项目的顺序相同的顺序返回解构的文档。例子:假设我有以下文件 { "_id" : 1, "item" : "foo", v
我有一份教育机构文件,看起来像这样: { name: ..., addresses: [...], courses: [ {name: ... , duration: ..., tags[...]}
使用 Storyboard这非常容易。您只需将操作拖至“退出”即可。但我应该如何从我的代码中调用它? 最佳答案 创建手动转场(ctrl-从文件所有者拖动到退出), 在绿色 EXIT 按钮下方的左侧 C
iOS 6 和 Xcode 4.5 有一个称为“Unwind Segue”的新功能: Unwind segues can allow transitioning to existing instanc
我有一个 Storyboard,它有一个起始 View Controller ,它呈现其他模态视图 Controller 。 假设 View Controller A 是起始 View Control
我是一名优秀的程序员,十分优秀!