我想在node.js脚本中创建Dynamo数据库表。
简而言之,我希望dynamo-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({
name: String,
nickname: {type: String,default: ''},
email: String,
phone: String,
type: String,
port : String,
deviceRegId: {type: String,default: ''},
assignFlag: Number,
created: {type: Date,default: Date.now} ,
lastmsg : {type: String,default: ''} ,
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
}]
});
var agent = mongo.model('naveen', userschema);
exports.mongo = mongo;
exports.agent = agent;

我正在尝试搜索类似的Dynamo功能,但找不到任何功能。任何帮助都会很有用。
答案 0 :(得分: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');
});
创建的示例项目: -
日期值存储为数字。