1

嗨,我使用以下代码将值插入到我的 mongodb

var mongoose = require('mongoose');
var db = mongoose.createConnection('mongodb://localhost/TruJuncSVC1');
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function callback () {

console.log('connection opened in Mongodb with SAMPLE TESTING Database')
var schema = new mongoose.Schema({Response: String,Id:String,Name:String,News:String,Details:String});

var SvcOrch = db.model('SvcOrch', schema);
var data = new SvcOrch({ 'Response': 'DailyLoad','Id':'S3000981','Name':'Stears','News':'Mens Boutiques Try New Tactics for Winning Loyal CustomersTradition Finds New Biz in Old Font','Details':'Stears Roebuck and Co. or Stears, is an American chain of department stores,[2] which was founded by Richard Warren Sears and Alvah Curtis Roebuck in the late 19th century. Formerly a component of the Dow Jones Industrial Average, Stears bought out Kmart[3] in early 2005, creating the Stears Holdings Corporation.'});


                        data.save(function (err) {
                        if (err) return handleError(err);
                        // saved!
                        console.log('\nResponse data saved in MongoDB')
                        })
                        });
                        });

我可以为每个属性插入一个值,我需要为单个属性保存多个值,比如 id 应该有 2 或 3 个值,所有属性都一样。任何关于如何继续进行的想法都会很有帮助。谢谢提前

4

2 回答 2

2

如果您需要为单个属性存储多个值,请将其声明为数组。

例如,如果您想为news每个文档存储多个项目,您可以将架构更改为:

var schema = new mongoose.Schema({
    Response: String,
    Id: String,
    Name: String,
    News: [String],
    Details: String
});

并创建具有多个新闻值的新项目:

var data = new SvcOrch({
    Response: 'DailyLoad',
    Id: 'S3000981',
    Name: 'Stears',
    News: ['News item 1', 'News item 2'],
    Details: 'More details...'
});
于 2013-01-02T14:00:20.427 回答
0
app.post('/insert', function (req, res) {
    console.log("Got a POST request for the add user");

    var data = {
        "first_name" : req.body.firstName,
        "second_name" : req.body.secondName,
        "organization" : req.body.organization,
        "email": req.body.email,
        "mobile" : req.body.mobile,
    };

    console.log(data);

    //Data insertion code
    var MongoClient = require('mongodb').MongoClient;
    var url = "mongodb://localhost:27017/";

    MongoClient.connect(url, function(err, db) {
        if (err) throw err;
        var dbo = db.db("toilet");
        dbo.collection("supervisor").insertOne(data, function(err, res) {
            if (err) throw err;
            console.log("1 document inserted");
            db.close();
        });
    });

    res.redirect('success.html');

});

即使我们不更改架构,多值字段也会自动输入到 mongodb 中。系统会根据数据自动重新定义。以上代码是使用 post 方法向 mongodb 输入数据的示例 node.js 代码

于 2018-06-26T06:22:39.283 回答