Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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
Python和mongodb选择_Mongodb_Nosql - Fatal编程技术网

Python和mongodb选择

Python和mongodb选择,mongodb,nosql,Mongodb,Nosql,我在mongodb中有以下文档: { "_id" : { "$oid" : "50bc8c38cb5ecd32fb8d12d3"} , "p" : 0 , "d" : <Binary Data> , "kid" : 6384} { "_id" : { "$oid" : "s6bc8c3phg5ecd32bbgd12f3"} , "p" : 1 , "d" : <Binary Data> , "kid" : 6384} { "_id" : { "$oid" : "k7bc8

我在mongodb中有以下文档:

{ "_id" : { "$oid" : "50bc8c38cb5ecd32fb8d12d3"} , "p" : 0 , "d" : <Binary Data> , "kid" : 6384}
{ "_id" : { "$oid" : "s6bc8c3phg5ecd32bbgd12f3"} , "p" : 1 , "d" : <Binary Data> , "kid" : 6384}
{ "_id" : { "$oid" : "k7bc8kf8vg5echy2bbgd12m5"} , "p" : 1 , "d" : <Binary Data> , "kid" : 6385}
 { "_id" : { "$oid" : "k7bc8kf8vg5echy2bbgd12m5"} , "p" : 1 , "d" : <Binary Data> , "kid" : 6386}
{“\u id”:{“$oid”:“50bc8c38cb5ecd32fb8d12d3”},“p”:0,“d”:“kid”:6384}
{“_id”:{“$oid”:“s6bc8c3phg5ecd32bbgd12f3”},p:1,“d”:“kid”:6384}
{“_id”:{“$oid”:“k7bc8kf8vg5echy2bbgd12m5”},“p”:1,“d”:“kid”:6385}
{“_id”:{“$oid”:“k7bc8kf8vg5echy2bbgd12m5”},“p”:1,“d”:“kid”:6386}
我想查询数据库,只返回那些有相同的孩子,但不同的p。对于每个孩子,如果存在,它应该返回2行,否则没有

在示例中,结果应为:

{ "_id" : { "$oid" : "50bc8c38cb5ecd32fb8d12d3"} , "p" : 0 , "d" : <Binary Data> , "kid" : 6384}
{ "_id" : { "$oid" : "s6bc8c3phg5ecd32bbgd12f3"} , "p" : 1 , "d" : <Binary Data> , "kid" : 6384}
{“\u id”:{“$oid”:“50bc8c38cb5ecd32fb8d12d3”},“p”:0,“d”:“kid”:6384}
{“_id”:{“$oid”:“s6bc8c3phg5ecd32bbgd12f3”},p:1,“d”:“kid”:6384}

这可能吗?

您需要执行两个查询或在客户端对它们进行排序。

您可以使用聚合方法作为两个查询之一

db.myTable.aggregate( [ { '$group': { '_id': "$kid", 'count': { '$sum': 1 } } }, 
                        { '$match': { 'count': { '$gt': 1 } } } ] )['result'] 
这会给你一张有不止一个父母的孩子的名单

[{u'count': 2, u'_id': 6384}]

然后,你可以为这些孩子做一个查找。

不,你不能在查询中这样做。