MongoError:未知命令findAndModify

时间:2019-07-15 13:15:47

标签: mongodb mongodb-atlas mongodb-stitch

这可能是一个小众问题,因为Stitch很新,但是我还是会尝试!

我有一个Stitch应用程序,在基础的Atlas群集上启用了MongoDB Connection String选项。

尝试在我的代码中运行此行

<ul>
  <li class="pipeline-box"><span>New</span></li>
  <li class="pipeline-box"><span>Order Placed</span></li>
  <li class="pipeline-box"><span>Order confirmed</span></li>
  <li class="pipeline-box"><span>In Process</span></li>
  <li class="pipeline-box"><span>Ready For Dispatch</span></li>
  <li class="pipeline-box"><span>On the Way</span></li>
  <li class="pipeline-box"><span>Delivered</span></li>
</ul>

我收到以下错误:

const r = await collection.findOneAndDelete(filter);

但是,如果我直接连接到基础的Atlas集群,则相同的代码可以正常工作。

我将MongoDB驱动程序用于NodeJS版本3.2.7

有人遇到过这种情况吗?还是可以阐明一些想法?

1 个答案:

答案 0 :(得分:0)

  

Stitch应用程序,启用了MongoDB连接字符串选项

当前CASSANDRA-7396findAndModify操作未公开。

在这种情况下发生的是MongoDB Node.JS驱动程序v3.2 Stitch Connection String (Wire Protocol操作并使用rewrites findOneAndXXX命令,但是Stitch后端尚未公开/不支持该命令。

findAndModify。您可以使用三种官方的Stitch Javascript / TypeScript SDK:

例如,您可以利用mongodb-stitch-server-sdk(通过Node.JS)来调用mongodb-stitch-react-native-sdk

或者,正如您所发现的,您可以直接连接到Atlas集群并利用MongoDB Node.JS驱动程序findOneAndDelete()