把头发拔出来。。。MongoDB查询

把头发拔出来。。。MongoDB查询,mongodb,querying,Mongodb,Querying,简单查询在我的mongodb数据库上不起作用 当我在控制台中运行时 db.quads.find({}); 我得到了“quads”集合中的所有文档,其中之一是: { "subject" : "u:http://dbpedia.org/resource/Tim_Berners-Lee", "predicate" : "u:http://dbpedia.org/ontology/abstract", "object" : "l:\"Sir Timothy John Berners-Lee KBE,

简单查询在我的mongodb数据库上不起作用

当我在控制台中运行时

db.quads.find({});
我得到了“quads”集合中的所有文档,其中之一是:

{ "subject" : "u:http://dbpedia.org/resource/Tim_Berners-Lee", "predicate" : "u:http://dbpedia.org/ontology/abstract", "object" : "l:\"Sir Timothy John Berners-Lee KBE, OM, FRS (TimBL ou TBL) é um físico britânico, cientista da computação e professor do MIT. É o criador da World Wide Web, tendo feito a primeira proposta para sua criação em março de 1989. Em 25 de dezembro de 1990, com a ajuda de Robert Cailliau e um jovem estudante do CERN, implementou a primeira comunicação bem-sucedida entre um cliente HTTP e o servidor através da internet. Berners-Lee é o diretor do World Wide Web Consortium (W3C), que supervisiona o desenvolvimento continuado da web. Também é o fundador da Fundação World Wide Web e é um pesquisador sênior e titular e fundador da cadeira de 3Com no Laboratório de Inteligência Artificial e Ciência da Computação do MIT (CSAIL). É um diretor da The Web Science Research Initiative (WSRI) e um membro do conselho consultivo do Centro de Inteligência Coletiva do MIT. Em abril de 2009, foi eleito como membro da Academia Nacional de Ciências dos Estados Unidos, sediada em Washington, D.C. Em 2004, Timothy venceu o Millennium Technology Prize, o que lhe rendeu um milhão de euros.\"@pt", "graph" : "u:http://example.org/people", "_id" : ObjectId("5134aa893fff1d490400009c") }
有人会认为运行这样的查询

db.quads.find({"subject" : "u:http://dbpedia.org/resource/Tim_Berners-Lee"});
。。。我至少会得到一个文档,因为有一个文档的“subject”字段的值为“u:”

但我什么也得不到。。。我还尝试了通配符查询:

db.quads.find({"subject" : "/.*Tim_Berners-Lee.*/"});
没有用。。。我做错了什么


谢谢

我能够使用两种方法获得预期结果:

db.quads.find({“主题”:/*Tim_Berners-Lee.*/}); 和 db.quads.find({“subject”:“u:})

也许您正面临一些shell窗口编码问题,请按照您所说的列出所有文档,并确保输出作为find命令的输入值。如果可能,请尝试从其他计算机连接,如果您使用的是windows,请尝试cygwin,或者尝试从linux计算机连接

问候,,
Moacy

您的通配符周围有
,也就是它们将被读取为字符串而不是正则表达式,字段值之前真的有
u:
,还是客户端编程显示的内容?我尝试删除通配符周围的“”,但没有效果。即使是非通配符查询也不会返回任何内容:>db.quads.find({“subject”:“u:”})u:是字段值的一部分,没有错。嗯……你显示的
subject
的查询确实会为我返回文档。Johnny你的mongodb版本是什么?我刚刚在2.2和1.8上试用过,它们都对我有用。是的,这就是问题所在。谢谢你把它记录在案!