تبحث عن مثال "Hello World" mongoose
-
02-10-2019 - |
سؤال
تحديث: كان بعض الوقت. ولكن في ذلك الوقت قرر عدم استخدام mongoose. السبب الرئيسي هو أننا لم نتمكن من التوصل إلى سبب كبير لاستخدام ORM عند استخدام Mongo و JavaScript.
لقد كنت أحاول إنشاء قاعدة بيانات/طراز مع Mongoose والتي هي في الأساس مجرد قاعدة بيانات للمستخدم حيث يكون اسم المستخدم فريدًا. تبدو بسيطة بما فيه الكفاية ، لكن لسبب ما لم أتمكن من القيام بذلك.
ما لدي حتى الآن هو:
var mongoose = require('mongoose').Mongoose,
db = mongoose.connect('mongodb://localhost/db');
mongoose.model('User', {
properties: [
'name',
'age'
],
cast: {
name: String,
age: Number
},
//indexes: [[{name:1}, {unique:true}]],
indexes: [
'name'
]
/*,
setters: {},
getters: {},
methods: {}
*/
});
var User = db.model('User');
var u = new User();
u.name = 'Foo';
u.save(function() {
User.find().all(function(arr) {
console.log(arr);
console.log('length='+arr.length);
});
});
/*User.remove({}, function() {});*/
انها فقط لا تعمل. تم إنشاء قاعدة البيانات بشكل جيد ، لكن اسم المستخدم ليس فريدًا. أي مساعدة أو معرفة بما أفعله خطأ؟
المحلول
تحتاج إلى تحديد المخطط. جرب هذا: (
var mongoose = require('mongoose').Mongoose,
db = mongoose.connect('mongodb://localhost/db'),
Schema = mongoose.Schema;
mongoose.model('User', new Schema({
properties: [
'name',
'age'
],
[...]
}));
نصائح أخرى
لـ Mongoose 2.7 (تم اختباره في Node v. 0.8):
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var db = mongoose.connect('mongodb://localhost/db');
var User = new Schema({
first_name: String,
last_name: String
});
var UserModel = mongoose.model('User', User);
var record = new UserModel();
record.first_name = 'hello';
record.last_name = 'world';
record.save(function (err) {
UserModel.find({}, function(err, users) {
for (var i=0, counter=users.length; i < counter; i++) {
var user = users[i];
console.log( "User => _id: " + user._id + ", first_name: " + user.first_name + ", last_name: " + user.last_name );
}
});
});
حاول إعطاء المسار الصحيح في var mongoose = طلب ('mongoose'). mongoose ،
. عملت معي..
#رمز بلدي
require.paths.unshift("/home/LearnBoost-mongoose-45a591d/mongoose");
var mongoose = require('mongoose').Mongoose;
var db = mongoose.connect('mongodb://localhost/db');
mongoose.model('User', {
properties: ['first name', 'last name', 'age', 'marriage_status', 'details', 'remark'],
});
var User = db.model('User');
var record = new User();
record.first name = 'xxx';
record.last name = 'xxx';
record.age = 'xxx';
record.marriage_status = 'xxx';
record.details = 'xxx';
record.remarks = 'xxx';
record.save(function() {
User.find().all(function(arr) {
console.log(arr);
console.log('length='+arr.length);
});
});
//User.remove({}, function() {});
قم بتجميعه باستخدام Node Filename.js حظًا سعيدًا ..
يجب عليك تحديد فهارسك الفريدة قبل تشغيل تطبيقك لأول مرة. خلاف ذلك ، تحتاج إلى إسقاط مجموعتك والبدء من جديد. أيضًا ، لن يلقي Mongoose خطأ عند محاولة حفظ {name: 'user1'} عند وجود 'User1' بالفعل.
قامت LearnBoost بتحميل مجموعة من الأمثلة مؤخرًا https://github.com/learnboost/mongoose/tree/master/examples