gpt4 book ai didi

sails.js - 在 Sails.js 中动态创建模型

转载 作者:行者123 更新时间:2023-12-02 20:08:04 24 4
gpt4 key购买 nike

我正在使用 mongo 和 sails.js。我的应用程序允许用户在 mongodb 中创建一个新集合。由于该集合是由用户创建的,因此模型文件夹中没有 sails 模型,因此我无法查询新集合(创建、更新、删除)等。

关于如何实现这一目标有什么想法吗?我正在研究 Model.native() 内置函数,但是当用户创建新集合时没有生成模型,因此这不起作用。

最佳答案

这取决于您想要什么:创建一个新模型或只是一个集合。

  • 型号

如果您想生成新模型并通过 GET、POST 等进行访问,就像您使用以下命令创建新 API 时一样:

sails generate api foo

您需要运行该命令,然后重新启动服务器,因为服务器需要将模型与数据库集合进行映射。

  • 收藏

如果您想创建一个集合,请考虑您将无法通过 GET、POST 访问此集合,因为它不是模型。

MongoDB在插入第一个文档之前不会创建数据库或集合。因此,如果您只想在 mongoDB 中创建一个新集合,您可以运行您自己的脚本来执行此操作。

这基本上就是它的工作原理和设计初衷。当您插入一些数据时,将创建数据库和集合。

例如,您可以使用 python-shell 运行 python 脚本 .

from pymongo import MongoClient 
import testdata
from pprint import pprint

client = MongoClient()
db = client.test['collectionDummy']

import datetime

class Temp(testdata.DictFactory):
id = testdata.CountingFactory(10)
number = testdata.CountingFactory(10)
address = testdata.FakeDataFactory('address')
firstName = testdata.FakeDataFactory('firstName')

for document in Temp().generate(2):
result = db.insert_one(document)

关于sails.js - 在 Sails.js 中动态创建模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40580127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com