Если вы уже используете Stitch, взгляните на Service Webhooks . Webhooks предоставляют HTTP-доступ к функциям Stitch, а функции Stitch поддерживают $lookup
.
Webhooks может оказаться проще, чем запросы с SDK, потому что управление конвейерами в JS становится немного запутанным. SDK все еще можно использовать для аутентификации, но данные, к которым можно получить доступ через веб-крючки, могут облегчить жизнь.
MongoDB обещает 10-минутная настройка API . Это заняло у меня немного больше времени, но не намного.
Ваша функция Webhook может выглядеть примерно так:
exports = function() {
var collection = context.services
.get("mongodb-atlas")
.db("FleetDatabase")
.collection("fleet");
var doc = collection
.aggregate([
{
$match: {
_id: "c1ba5c3f-263b-5748-9492-e50e0a39cb7a"
}
},
{
$lookup: {
from: "aircraft",
localField: "aircraft_id",
foreignField: "_id",
as: "aircraft"
}
}
])
.toArray();
return doc;
};
После того, как ваш webhook настроен, вам просто нужно позвонить. Если вы используете React, это будет выглядеть так:
async componentDidMount() {
const response = await fetch(MY_WEBHOOK);
const json = await response.json();
this.setState({ docs: json });
}