Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongodb empty是通配符,但仅在顶层?_Mongodb_Nosql - Fatal编程技术网

mongodb empty是通配符,但仅在顶层?

mongodb empty是通配符,但仅在顶层?,mongodb,nosql,Mongodb,Nosql,对不起那些不喜欢Python的人,我的示例使用pymongo 在mongodb中,empty用作“通配符”,如此处所示(使用“通配符”,我会得到相同或更多的结果): 但如果查询文档的“内部”,则通配符不再像以下示例中那样工作: >>> testruns.find_one({'_parent': {'_coll': u'projects', '_id': '4efa14c6b0ab584326000000'}}) {u'_parent': {u'_coll': u'project

对不起那些不喜欢Python的人,我的示例使用pymongo

在mongodb中,empty用作“通配符”,如此处所示(使用“通配符”,我会得到相同或更多的结果):

但如果查询文档的“内部”,则通配符不再像以下示例中那样工作:

>>> testruns.find_one({'_parent': {'_coll': u'projects', '_id': '4efa14c6b0ab584326000000'}})
{u'_parent': {u'_coll': u'projects', u'_id': u'4efa14c6b0ab584326000000'}, u'_id': ObjectId('4efa167eb0ab584351000002'), u'name': u'11121617', u'updated_at': u'2011-12-27 19:03:26'}
>>> testruns.find_one({'_parent': {'_coll': u'projects'}})
>>> <no results here>
>>testruns.find_one({u parent':{u coll':u'projects','u id':'4efa14c6b0ab584326000000})
{u''u parent':{u''u coll':u'projects',u''u id':u'4efa14c6b0ab584326000000',u''u id':ObjectId('4efa167eb0ab58435100002'),u'name':u'11121617',u'updated_'at':u'2011-12-27 19:03:26'}
>>>testruns.find_one({u parent':{u coll':u'projects'})
>>> 
我尝试了使用“$in”和“$nin”的变体,但到目前为止没有成功。我希望有一些结构化的方式来查询文档(我指的是regex之外的东西)。如果有必要,我会重组我的收藏,但我相信平面文档不是解决方案

这是否意味着我必须将所有查询转换为点符号? 或者regex是mongodb中查询文档的方法

免责声明:我无意批评mongodb或任何东西。这是我第一个使用mongodb的应用程序,我想学习如何在mongodb中查询文档。

此查询:
testruns.find_one({u parent':{u coll':u'projects'})
正在查找_parent等于
{''u coll':u'projects'}
的文档,该文档没有任何匹配项,因为文档中还有其他键,因此不满足相等性-这里没有“通配符”的概念。请按以下方式尝试您的查询:

testruns.find_one({“u parent.\u coll”:u'projects})
此查询:
testruns.find_one({u parent':{u coll':u'projects'})
正在查找_parent等于
{''u coll':u'projects'}
的文档,该文档没有任何匹配项,因为文档中还有其他键,因此不满足相等性-这里没有“通配符”的概念。请按以下方式尝试您的查询:


testruns.find_one({u parent.\u coll':u'projects')
由于问题本身不正确,请更新标题

“如何在mongodb中搜索嵌套文档条件”重复:

mongodb文档中也回答了这一问题:


在“在嵌套字段上指定相等匹配”下,请更新标题,因为问题本身不正确

“如何在mongodb中搜索嵌套文档条件”重复:

mongodb文档中也回答了这一问题:


在“在嵌套字段上指定相等匹配”下

我目前正在将查询转换为点表示法,就像在您的示例中一样,到目前为止看起来非常有希望。我希望使用点表示法的查询的性能也很好。我目前正在将查询转换为点表示法,就像您的示例中一样,到目前为止它看起来非常有希望。我希望使用点表示法的查询的性能也很好。
>>> testruns.find_one({'_parent': {'_coll': u'projects', '_id': '4efa14c6b0ab584326000000'}})
{u'_parent': {u'_coll': u'projects', u'_id': u'4efa14c6b0ab584326000000'}, u'_id': ObjectId('4efa167eb0ab584351000002'), u'name': u'11121617', u'updated_at': u'2011-12-27 19:03:26'}
>>> testruns.find_one({'_parent': {'_coll': u'projects'}})
>>> <no results here>