Как ссылаться на другую коллекцию в MongoDB

#node.js #mongodb

#node.js #mongodb

Вопрос:

Как я могу создать ссылку вручную в MongoDB, чтобы я мог установить индекс «владельца» в моей коллекции элементов на имя пользователя в моей «коллекции пользователей». Прямо сейчас у меня есть

 var obj = db.collection(PERSON_COLLECTION).findOne({"name": req.body.owner} );
  

Но как я могу извлечь имя и _Id из выбранного документа, чтобы я мог установить его в поле владельца элемента.

 //Schema for Item Model - DB Name 'Items'
{
    "item_name": <String>,
    "category": <String>,
    "price": <Number>,
    "Owner": <String>,
    "Quantity": <Number>,
    "Transaction": <TransactionSchema> -- Optional
}
//Schema for Person Model

{
    "_id": <ObjectId>
    "name": <String>,
    "email_address": <String>,
    "location": <String>,
}
  

Ответ №1:

Вы можете использовать

 db.collection(PERSON_COLLECTION).findOne({"name": req.body.owner}, function(err,doc) {})
  

чтобы извлечь нужные поля, а затем вы можете ссылаться на нее, используя точечную нотацию, такую как doc.name