当前位置: 首页 > 面试题库 >

如何查找符合多个条件的文档

薛钧
2023-03-14
问题内容

我正在尝试使用操作数AND一起查询集合。我有外壳版本工作:

db.widgets.find({color: 'black, shape: 'round', weight: 100})

我找不到Java等效项(使用本机驱动程序)。我已经尝试了各种方法,但这是我最近的尝试:

// Find all black, round widgets with weight 100
List<BasicDBObject> criteria = new ArrayList<BasicDBObject>();
criteria.add(new BasicDBObject("color", "black"));
criteria.add(new BasicDBObject("shape", "round"));
criteria.add(new BasicDBObject("weight", 100));

DBCursor cur = widgets.find(new BasicDBObject("$and", criteria));

// Get all matching widgets and put them into a list
List<Widget> widgetList = new ArrayList<Widget>();
DBCursor cur = widgets.find(andQuery);
while (cur.hasNext()) {
  widgetList.add(new Widget(cur.next()));
}

if (widgetList.isEmpty())
  System.out.println("No results found");

任何想法有什么问题吗?


问题答案:
BasicDBObject criteria = new BasicDBObject();
criteria.append("color", "black");
criteria.append("shape", "round");
criteria.append("weight", 100);

DBCursor cur = widgets.find(criteria);


 类似资料:
  • 我想只从我的两个对象数组和中得到那些符合标准的子文档。即使我已经找到了这个stackoverflow答案#2(根据标准查找猫鼬子文档),它对我来说并不像期望的那样工作,或者我错过了一些东西。 我的文档如下所示: 它将在和中打印项目及其所有子文档。但是,我只想获取与给定上载id匹配的子文档。我做错了什么? 编辑:这个问题是指用猫鼬来解决它。我不能在Mongoose中使用这个问题的集合语句(只检索Mo

  • 我的简化模式如下所示: 我想找到所有叫艾伦的人。我看了这个非常相似的问题,但它发现的是团队,而不是人。我想这里也是。即使我没有persons集合,是否有返回persons的查询? 我想我可以使用引用的技术找到团队,然后撤出他们的人员。我猜是这样的: 但是还有更直接的方法,对吗?

  • 换言之,我试图找出Firestore在SQL中与此等效的是什么: 是的,我问的是如何一次更新多个文档,但与链接的问题不同,我特别问的是如何一次更新多个文档,而不将任何内容读入内存,因为当您只想在所有匹配条件的文档上设置一个标志时,不需要这样做。 这就是我期望的工作方式,集合参考没有方法。 Transactions and Batched Writes文档提到了事务和批处理写入。事务被淘汰是因为“一

  • 问题内容: 我有以下数据: 对于每组记录(按ParentID分组),我想查找所有没有包含“ A”作为数据值的记录的组。 由于第1组和第6组确实包含至少一个以“ A”作为数据值的记录,因此我不希望看到它们。我只想查看记录4和5(它们是组4的一部分),因为该组中没有记录带有“ A”。 任何帮助是极大的赞赏! 问题答案: 如果表很大,建议建立索引。

  • 这里我试图用jpa从mysql数据库中获取数据,但是我被findby绊倒了,如何使用Crudepository spring数据jpa为下面的查询编写findby方法? 我试过这个,但它不工作: 我有这样的实体类:

  • 问题内容: 如果我有一个看起来像这样的表: 还有一个THINGS表,如下所示: 我正在尝试提出一个纯SQL查询,该查询可以让我找出什么可以访问什么。基本上,我想要一个看起来像这样的查询: 并返回“ John”和“ Mary”。关键是访问事物所需的许可数量是任意的。 我觉得这应该很明显,但是我无法提出一个优雅的解决方案。首选与Oracle兼容的解决方案。 编辑: Kosta和JBrooks的解决方案