我正在开发产品上传页面
我有一个部分,将存储数组。
模型
var productsSchema = new Schema({
Id: {type: String, required: true},
pName: {type: String, required: true},
sku: [
{
size: {type: Number, required: true},
price: {type: Number, required: true},
color: {type: String, required: true},
quantity: {type: String, required: true},
inStock: {type: String, required: true},
imagePaths: {type: Array, required: false}
}
]
}); <br/>
正如您所见, sku 属于阵列类型
对于前端我使用的是Angular js
我有两个问题:
答案 0 :(得分:0)
(1)您将要使用$ http服务。您可以使用.post()方法,该方法包含2个参数,URL和数据,例如:
$http.post(URL, data);
务必将服务注入angularJS控制器/指令。
(2)现在我对MongoDB没有任何经验,但我假设你做了类似的事情:
在server.js文件中,使用express注册API路径,例如
var express = require('express');
var app = express();
app.post(URL, function(req, res) {
// the data is here --> req.data
})
app.listen(PortNumber)
现在下载MongoDB的npm包:https://www.npmjs.com/package/mongodb
使用该文档,计算出在端口上连接mongoDB所需的内容,然后使用API中收到的数据写入数据库。简单地说,你必须使用:
var MongoClient = require('mongodb').MongoClient
, assert = require('assert');
// Connection URL
var url = 'mongodb://localhost:27017/myproject';
// Use connect method to connect to the Server
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
console.log("Connected correctly to server");
db.close();
});
连接后,在app.post()
中发布 app.get(URL, function(req, res) {
var collection = db.collection('documents');
//data here
collection.insertMany(**req.data**, function(err, result) {
console.log("Inserted document into collection");
callback(result);
});
}
希望这有帮助。