как сохранить строку как objectId с помощью loopback - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть петлевая модель project.json

project.json

"properties" : {
 "users": {
        "type": [
        {
          "user_id": "string"
        }
      ]
    }
}

массив идентификаторов хранимых строк формата

{
    "users" : [
    {
        "user_id" : "5ae319e8ac5718155ca719d0"
    },
    {
        "user_id" : "5ae31a4d770afb158ef6c048"
    }
]}

как сохранить строку как objectId, подобный этому

{
     "users" : [
        {
            "user_id" : ObjectId("5ae319e8ac5718155ca719d0")
        },
        {
            "user_id" : ObjectId("5ae31a4d770afb158ef6c048")
        }
     ]
   }

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

В модели проекта

"relations": {
 "user": {
  "type": "belongsTo",
  "model": "user",
  "foreignKey": "id"
}}

В модели пользователя

"relations": {
 "projects": {
  "type": "hasMany",
  "model": "project",
  "foreignKey": "project_user_id"
}}

Если отношений нет, Вы можете использовать

const ObjectId = require('mongodb').ObjectId;
var userId=ObjectId("5ae319e8ac5718155ca719d0")

и создать в БД.

Вы можете проверить тип, используя typeof (userId).Это будет объект.

0 голосов
/ 20 февраля 2019

Вы должны рассмотреть, чтобы определить это как отношение, а не список объектов.Затем вы можете определить отношение как пользователей или членов.Я предполагаю, что у проекта много пользователей, и пользователь может принадлежать ко многим проектам.Затем вам нужно определить hasAndBelongsToMany отношение:

Project.hasAndBelongsToMany(User);
User.hasAndBelongsToMany(Project);

Подробнее об этом можно прочитать здесь .

...