Javascript 分解第一个数组项或如何强制Mongoose返回对象而不是1项数组

Javascript 分解第一个数组项或如何强制Mongoose返回对象而不是1项数组,javascript,mongoose,ecmascript-6,Javascript,Mongoose,Ecmascript 6,Mongoose的.find方法返回数组,即使找到一个结果,其逻辑 但举例来说,我确信结果是1项或空数组 我怎样才能破坏结果或请求猫鼬这么做? 这个案例并不是猫鼬特有的 它可以是: .then(results => { if (results.length) { const [result] = results; ... } }); 或: 这两种方法在Mongoose中都是有效的,因为如果结果存在,则预期结果是真实的。您可以使用findOne方法,而不是限制查询

Mongoose的
.find
方法返回数组,即使找到一个结果,其逻辑

但举例来说,我确信结果是1项或空数组

我怎样才能破坏结果或请求猫鼬这么做?


这个案例并不是猫鼬特有的

它可以是:

.then(results => {
  if (results.length) {
    const [result] = results;
    ...
  }
});
或:


这两种方法在Mongoose中都是有效的,因为如果结果存在,则预期结果是真实的。

您可以使用
findOne
方法,而不是限制查询结果:

Payments
  .findOne({ ... })
  .sort({ ... })
  .then(result => {
    // ...
  })

。然后(([result])=>…)
?哦,我认为不可能混合使用
.findOne
.sort
,因为Robo 3T(MongoDB客户端)不允许这样做。谢谢
.then(([result]) => {
  if (result) {
    ...
  }
});
Payments
  .findOne({ ... })
  .sort({ ... })
  .then(result => {
    // ...
  })