0

我有一个 mongoose find() 查询,然后我想在其中使用 .populate 来填写一些交叉引用。我正在对 mongo 副本集的辅助节点运行它。我可以很好地针对主服务器运行查询,并且可以使用记录的读取首选项对辅助服务器运行“正常”查找和聚合查询(没有填充)。

添加 .populate() 行时我卡住了。我收到以下错误:

{ [MongoError: not master and slaveOk=false] name: 'MongoError' }

定义了适当的模式,等等,并且带有 .populate 行的查询对主节点运行良好。只是不针对辅助节点(尽管同样,没有 populate() 行的相同查询对辅助节点正确运行)。有任何想法吗?谢谢!

4

1 回答 1

0

您可以使用 populate().read('secondaryPrefered') 这将允许从辅助副本集读取数据。

于 2016-02-04T09:40:24.107 回答