如何在下面显示的对象中选择子文档作者,而不直接访问它,即authors[0]
,以便我得到的结果是{"_id":"4f44af6a024342300e000002", visible: true}
?
对象:
{
_id: "4f44af6a024342300e000001",
title: "A book",
created: "2012-02-22T14:12:51.305Z"
authors: [{"_id":"4f44af6a024342300e000002", visible: true}]
}
我已经能够通过这样做来更新它,但选择它似乎是一个完全不同的故事:
books.update({_id: "4f44af6a024342300e000001",'authors._id': "4f44af6a024342300e000002"},
{$set: {'books.$.visible': true}}, function(err) {
// ...
});
答案 0 :(得分:1)
目前无法实现(有关额外详情,请参阅类似问题)
在下一个版本中,聚合框架可以朝这个方向迈出一步,但真正的解决方案是虚拟集合。
暂时(简称),只有在通过父母时才使用嵌入式文档。