寻找猫鼬“你好世界”例子
更新:已经有一段时间了。但当时决定不使用 Mongoose。主要原因是我们在使用 mongo 和 javascript 时无法真正找到使用 ORM 的充分理由。
我一直在尝试使用 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() {});*/
它根本不起作用。数据库创建正常,但用户名不唯一。对我做错了什么有任何帮助或了解吗?
Update: Been some time. But back then decided not to use Mongoose. Main reason being that we couldn't really come up with a great reason for using an ORM when using mongo and javascript.
I've been trying to create a database/model with Mongoose which is basically just a user database where the username is unique. Sounds simple enough, but for some reason I've been unable to do so.
What I've got so far is this:
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() {});*/
It just doesn't work. The database is created alright, but the username is not unique. Any help or knowledge of what I'm doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
您应该在首次运行应用程序之前定义唯一索引。否则,您需要放弃您的收藏并重新开始。此外,当“user1”已存在时尝试保存 { name: 'user1' } 时,猫鼬不会抛出错误。
You should define your unique indexes before running your app for the first time. Otherwise, you need to drop your collection and start over. Also, mongoose will not throw an error when you attempt to save { name: 'user1' } when 'user1' already exists.
Learnboost 最近上传了一组示例 https://github.com/LearnBoost/mongoose/tree/大师/示例
Learnboost recently uploaded a set of examples https://github.com/LearnBoost/mongoose/tree/master/examples
我知道这个问题已有 10 年历史了,最初的发布者放弃了 Mongoose,但由于它突然出现在 Google 搜索的顶部附近,我觉得我会提供一个新的答案。
使用 Typescript 提供完整的基本示例。我已在评论中添加了
代码(如果适用)。
请注意,这是在 Mongoose 5.9.26 上验证的,针对 Mongo 4.0.13 运行。
I am aware this question is 10 years old and the original poster abandoned Mongoose, but since it pops up near the top of Google searches I felt I would provide a fresh answer.
Providing a complete basic example, using Typescript. I have added comments in the
code, where appropriate.
Note, this was validated with Mongoose 5.9.26, running against Mongo 4.0.13.
您需要定义架构。试试这个:(
You need to define the schema. Try this: (
对于 Mongoose 2.7(在 Node v.0.8 中测试):
For Mongoose 2.7 (tested in Node v. 0.8):
尝试在 var mongoose = require('mongoose').Mongoose, 中给出正确的路径
。它对我有用..
#
我的代码
用 node filename.js 编译它
祝你好运..
Try giving right path in var mongoose = require('mongoose').Mongoose,
. It worked for me..
#
my code
Compile it with node filename.js
good luck..