我在MongoDB中有像 -
这样的文档{
name: "Myname",
Auth: "myAuth",
Books:[{
b_name: "bookname",
b_type: "tech",
datetime: "datetime"
}],
dept: "IT"
}
现在,如果我只想根据过滤条件获取名称字段,我可以查询 -
db.books.find( { dept: "IT" } , { Myname:1, Auth:1, _id:0 } )
但是如果我想获得一个字段以及数组"Books"
中的一个数组字段,我该如何查询MongoDB
。
我想要像 -
这样的东西db.books.find( { dept: "IT" } , { Myname:1, Auth:1, Books.b_name:1, _id:0 } )
以上查询无效。
答案 0 :(得分:1)
投影属性是JSON / doccument字段。你没有像Myname这样的领域。其次,你必须使用子文档的引号,如'Books.b_name'
查询:
db.books.find( { dept: "IT" } , { name:1, 'Auth':1, 'Books.b_name':1, _id:0 } ) ;
输出
{ "name" : "Myname", "Auth" : "myAuth", "Books" : [ { "b_name" : "bookname" } ] }