我曾经习惯mongodump转储我的mongodb数据库,它创建了一些bson文件dump/mydb
但我不知道如何使用它们.我试过mongoimport,但似乎无法导入bson数据.那么如何使用这些bson文件?如何将它们导入另一个mongodb?
假设我有以下数据结构:
var user = {_id: 'foo', age: 35};
var post = {_id: '...', author: {$ref: user, $id: 'foo'},...};
Run Code Online (Sandbox Code Playgroud)
如何查询引用用户[foo]的所有帖子?我尝试了以下但不工作:
db.post.find('author._id': 'foo');
var u = db.user.find({_id: 'foo'});
db.post.find('author': u);
Run Code Online (Sandbox Code Playgroud)
我也无法从官方文档和谷歌找到答案!
任何人有任何想法?
我正在开展一个项目,我正在跟踪一个主题的点击次数.
我正在使用mongodb,我必须按日期分组点击次数(我希望将数据分组15天).
我在mongodb中以下列格式存储数据
{
"_id" : ObjectId("4d663451d1e7242c4b68e000"),
"date" : "Mon Dec 27 2010 18:51:22 GMT+0000 (UTC)",
"topic" : "abc",
"time" : "18:51:22"
}
{
"_id" : ObjectId("4d6634514cb5cb2c4b69e000"),
"date" : "Mon Dec 27 2010 18:51:23 GMT+0000 (UTC)",
"topic" : "bce",
"time" : "18:51:23"
}
Run Code Online (Sandbox Code Playgroud)
我想在专题点击群号:ABC按天数(15天)..我知道如何组,但我怎么能由日化集团被存储在我的数据库
我正在寻找以下格式的结果
[
{
"date" : "date in log",
"click" : 9
},
{
"date" : "date in log",
"click" : 19
},
]
Run Code Online (Sandbox Code Playgroud)
我已经写代码,但它会工作只有日期是字符串(代码是在这里http://pastebin.com/2wm1n1ix)...请指导我怎么做我这组
我有一个JSON格式的长字符串,我想将其转换为BSONDocument以插入MongoDB数据库.我该如何进行转换?我正在使用官方的C#驱动程序.
有什么控制可以递归调用一些东西吗?
从一个基本的测试程序,我得到一个超过18k的递归深度
这取决于stacksize ....
有没有办法设置一个大块的内存(也许是一个线程)与大量的堆栈,以增加递归深度?
我最近发现MongoDB中的所有查询都区分大小写.如何进行不区分大小写的搜索?
我找到了一种方法:
Query.Matches(
"FirstName",
BsonRegularExpression.Create(new Regex(searchKey,RegexOptions.IgnoreCase)));
Run Code Online (Sandbox Code Playgroud) 我如何将此mongo查询转换为C#中的Query.EQ语句?
db.users.find({name: 'Bob'}, {'_id': 1});
Run Code Online (Sandbox Code Playgroud)
换句话说,我不希望一切都返回到C# - 只需要我需要的一个元素,即_id.与往常一样,Mongo C#驱动程序教程没有帮助.
在shell中,我的查询是:
db.checkin_4e95ae0926abe9ad28000001.update({location_city:"New York"}, {location_country: "FUDGE!"});
Run Code Online (Sandbox Code Playgroud)
但是,它实际上并没有更新我的记录.它也没有错误.当我执行db.checkin_4e95ae0926abe9ad28000001.find({location_city:"New York"});此操作后,我得到了所有结果,但location_country没有改变:
{
"_id": ObjectId("4e970209a0290b70660009e9"),
"addedOn": ISODate("2011-10-13T15:21:45.772Z"),
"location_address1": "",
"location_city": "New York",
"location_country": "United States",
"location_latLong": {
"xLon": -74.007124,
"yLat": 40.71455
},
"location_source": "socialprofile",
"location_state": "New York",
"location_zip": ""
}
Run Code Online (Sandbox Code Playgroud) 实体框架ObjectSet及其方法ToList显示刚刚保存的实体.这意味着,当我打电话时
context.AddToCustomers(myNewCust);
Run Code Online (Sandbox Code Playgroud)
然后(不调用SaveChanges)
myDataGrid.DataContext = context.Customers.ToList();
Run Code Online (Sandbox Code Playgroud)
DataGrid不显示新添加的实体(甚至context.Customers.Count()不包括它).
有没有办法显示这些实体(那些实体EntityState = Added)?
提前致谢.
使用mongodb shell,我正在尝试为大型集合中的每个文档添加一个新属性.集合(Listing)有一个名为Address的现有属性.我只是想添加一个名为LowerCaseAddress的新属性,它可用于搜索,这样我就不需要使用不区分大小写的正则表达式进行地址匹配,这很慢.
这是我试图在shell中使用的脚本:
for( var c = db.Listing.find(); c.hasNext(); ) {
var listing = c.next();
db.Listing.update( { LowerCaseAddress: listing.Address.toLowerCase() });
}
Run Code Online (Sandbox Code Playgroud)
它运行了大约6个小时,然后我的电脑崩溃了.有没有更好的方法为大型集合中的每个文档添加新属性(约400万条记录)?
mongodb ×8
c# ×5
.net ×2
mongo-shell ×2
date ×1
dbref ×1
dump ×1
group-by ×1
mongodump ×1
mongorestore ×1
recursion ×1
reference ×1
savechanges ×1
stack ×1