2017-03-04 64 views
0

我想在node.js脚本中创建Dynamo数据库表。有没有类似于mongo.model()的东西;在DynamoDB中...?

总之,我想发电机-DB代码等同于以下内容:

var mongo = require('mongoose'); 
 
var MongoDB = mongo.connect('mongodb://localhost:27017/test').connection; 
 
MongoDB.on('error', function(err) { console.log(err.message); }); 
 
MongoDB.once('open', function() { 
 
    console.log("DynamoDB connection open"); 
 
}); 
 
var userschema = mongo.Schema({ 
 
\t name: String, 
 
\t nickname: {type: String,default: ''}, 
 
\t email: String, 
 
\t phone: String, 
 
\t type: String, 
 
\t port : String, 
 
\t deviceRegId: {type: String,default: ''}, 
 
\t assignFlag: Number, 
 
\t created: {type: Date,default: Date.now} \t , 
 
\t lastmsg : {type: String,default: ''} , 
 
\t lasttime : {type: Date,default: Date.now} , 
 
\t loginStatus : {type: Boolean,default: false} , 
 
\t isOnline : {type: Boolean,default: false} , 
 
\t chats: [{ 
 
\t \t \t from: String, 
 
\t \t \t msgfrom: Number, 
 
\t \t \t name: String, 
 
\t \t \t msg: String, 
 
\t \t \t date: {type: Date, default: Date.now}, 
 
\t \t \t flag: Number 
 
\t }] 
 
}); 
 
var agent = mongo.model('naveen', userschema); 
 
exports.mongo = mongo; 
 
exports.agent = agent;

我试图寻找类似迪纳摩功能,但找不到任何。任何帮助都会很有用。

+0

如何dynamoose https://www.npmjs.com/package/dynamoose – Molda

回答

0

以下是的示例代码,如果不存在,则创建该表并使用默认值在其上创建一个项目。

请注意,DynamoDB上的属性不能为空值。例如,默认情况下,昵称不能设置为空字符串。

对于任何属性,如果设置了空值并尝试插入数据,则DynamoDB将引发验证异常。

所以,默认不能是空字符串。

代码: - 创建

var dynamoose = require('dynamoose'); 
dynamoose.AWS.config.update({ 
    accessKeyId: 'AKID', 
    secretAccessKey: 'SECRET', 
    region: 'us-east-1' 
}); 
dynamoose.local(); 
var Schema = dynamoose.Schema; 

var userSchema = new Schema({ 
    name: { 
     type: String, 
     hashKey: true 
    }, 
    nickname: String, 
    email: String, 
    phone: String, 
    type: String, 
    port: String, 
    deviceRegId: String, 
    assignFlag: Number, 
    created: { type: Date, default: Date.now }, 
    lastmsg: { type: String }, 
    lasttime: { type: Date, default: Date.now }, 
    loginStatus: { type: Boolean, default: false }, 
    isOnline: { type: Boolean, default: false }, 
    chats: [{ 
     from: String, 
     msgfrom: Number, 
     name: String, 
     msg: String, 
     date: { type: Date, default: Date.now }, 
     flag: Number 
    }] 
}, 
    { 
     throughput: { read: 15, write: 5 } 
    }); 
var Table = dynamoose.Table; 

var UserDetails = dynamoose.model('UserDetails', userSchema); 

var user1 = new UserDetails({ name: 'John' }); 

user1.save(function (err) { 
    if (err) { return console.log(err); } 
    console.log('Added a new item'); 
}); 

例题: -

日期值存储为数字。

Sample item inserted

+0

感谢您的帮助......现在,我发展我的code.If我得到任何错误,我会让你知道.. –

+0

上面的答案有用吗? – notionquest

相关问题