3
我正在使用mongo和sails.js。我的应用程序允许用户在MongoDB中创建一个新的集合。由于是由用户创建的这个集合没有在模型文件夹中没有帆模型,因此我不能查询新的集合(创建,更新,删除)等在Sails.js中动态创建模型
我如何能做到这一点任何想法?我正在研究内置函数Model.native(),但是当用户创建一个新的集合时没有生成模型,因此无法工作。
我正在使用mongo和sails.js。我的应用程序允许用户在MongoDB中创建一个新的集合。由于是由用户创建的这个集合没有在模型文件夹中没有帆模型,因此我不能查询新的集合(创建,更新,删除)等在Sails.js中动态创建模型
我如何能做到这一点任何想法?我正在研究内置函数Model.native(),但是当用户创建一个新的集合时没有生成模型,因此无法工作。
这取决于你想要什么:创建新模型或只是一个集合。
如果你想生成一个新的模式和访问与GET,POST,等等。就像当你创建一个新的API有:
帆产生api foo
你需要运行命令,然后重新启动服务器,因为服务器需要与数据库集合映射模型。
如果你想创建一个集合考虑您将无法通过GET访问此集合,POST,因为它不是一个模型。
在插入第一个文档之前,MongoDB 不会创建数据库或集合。所以,如果你只是想创建一个新的集合 MongoDB中,你可以运行你自己的脚本做到这一点。
这基本上是它的工作原理,是通过设计。当你插入一些数据时,数据库和集合将被创建。
例如,您可以运行python脚本和python-shell。
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)
你不能做到这一点。即使您生成新模型,您也需要重新启动服务器才能看到它。 – Bonanza