MongoDB:从特定文档中检索整个数组

时间:2016-07-29 18:51:04

标签: mongodb mongodb-query

我在mongoDB中设置了一些测试数据,其格式如下:

{ 
    "_id" : ObjectId("579ab44c0f9f0dc3aeec42ab"), 
    "name" : "Bob", 
    "references" : [ 1, 2, 3, 4, 5, 6 ]
}

{ 
    "_id" : ObjectId("579ab7a20f9f0dc3aeec42ac"), 
    "name" : "Jeff", 
    "references" : [ 11, 12, 13, 14, 15 ]
}

我希望能够仅为Bob 返回引用数组。目前,我可以使用以下查询返回完整的Bob文档:

  db.test_2.find({"name" : "Bob"}, bob).pretty()

基本上一般的问题是如何为MongoDB中的集合中的单个文档返回一个数组?如果我能得到任何帮助,将非常感谢!

3 个答案:

答案 0 :(得分:1)

您可以添加投影文档以限制返回的字段。

例如: db.products.find({qty:{$ gt:25}},{item:1,qty:1})

看看文档: https://docs.mongodb.com/manual/reference/method/db.collection.find/#db.collection.find

另一个选项是从给定文档中选择字段(例如,如果在循环中使用它)。

在任何情况下,mongo都会返回一个需要从中获取数组的json文档。

此致 Jony

答案 1 :(得分:0)

您可以执行此操作...

OMP_NUM_THREADS=8, 
KMP_BLOCKTIME=1; 
KMP_AFFINITY='granularity=fine,verbose,compact,1,0'; 
KMP_SETTINGS=1

P.S这是MongoDB v4.2附带的

答案 2 :(得分:-1)

  

db.test_2.find({“name”:“Bob”},{“references”:1});