ArangoDB是一个多模型的数据库,支持图形、文档和键-值数据模型。它提供了一种称为嵌套对象集合键(Nested Object Collection Key)的功能,可以在文档之间建立关联。
下面是一个使用嵌套对象集合键进行连接的示例。
users
和orders
// 创建users集合
db._create("users");
// 创建orders集合
db._create("orders");
users
集合插入一些文档db.users.save({_key: "user1", name: "John Doe"});
db.users.save({_key: "user2", name: "Jane Smith"});
orders
集合插入一些文档,并使用嵌套对象集合键来关联到users
集合db.orders.save({_key: "order1", user: { _collection: "users", _key: "user1" }, product: "Product A"});
db.orders.save({_key: "order2", user: { _collection: "users", _key: "user2" }, product: "Product B"});
在上述示例中,user
字段是一个嵌套对象集合键,它包含了用户文档所属的集合和对应的键。
db.orders
.findByExample({ product: "Product A" })
.map(order => {
const user = db._document(order.user._collection, order.user._key);
return { order, user };
})
.toArray();
上述代码通过findByExample
方法查询orders
集合中product
字段为"Product A"的订单,并使用map
方法连接到对应的用户文档。最后,通过toArray
方法获取查询结果。
通过以上步骤,你可以使用嵌套对象集合键在ArangoDB中进行连接操作。请注意,这只是一个简单的示例,并且可以根据你的实际需求进行调整。